typeidea icon indicating copy to clipboard operation
typeidea copied to clipboard

关于同一页面关联数据的编辑

Open wf4867612 opened this issue 5 years ago • 1 comments

老师,您好: 作者这个字段是不能为空的,所以PostInline 这个类,定义完之后,如果直接编辑标题和摘要就提交是会报错,owner_id 不能为空的。 我想要提交的时候直接能够把当前用户提交上去,但是在这个admin.TabularInline父类中是没有关于save方法的。

wf4867612 avatar May 20 '20 09:05 wf4867612

在CategoryAdmin中添加以下函数代码:

def save_formset(self, request, form, formset, change):
    """ 修改关联对象数据 """
    instances = formset.save(commit=False)
    for instance in instances:
        if not hasattr(instance, 'owner'):  # 防止误修改其他文章的作者
            instance.owner = request.user  # 给owner字段赋值
            instance.save()
    formset.save_m2m()

MaoningGuan avatar Jun 12 '20 15:06 MaoningGuan