所以我作弊了,但解决了我的问题。因为表要求id而不是user对象,所以我传入
request.user.id
反而。
这是它的样子
instances = formset.save(commit=False)
for i in instances:
i.submit_user_id = request.user.id
i.save()
formset.save_m2m()
编辑1:
这是我答案的最终版本。我可以成功地添加和删除条目
save_formset
def save_formset(self, request, form, formset, change):
instances = formset.save(commit=False)
for i in instances:
if hasattr(i, 'submit_user_id') and not i.submit_user_id:
i.submit_user_id = request.user.id
i.save()
formset.save_m2m()
super(SomeModelAdmin, self).save_formset(request, form, formset, change)