如何自定义django内联管理表单的删除功能

时间:2017-01-10 07:10:53

标签: python django

如何自定义django的内联管理表单的删除操作。我的admin.py设置如下。

#admin.py
class ChildModelInline(admin.TabularInline):
    model = ChildModel
    can_delete = True

#admin.py
@admin.register(ParentModel)
class ParentModelAdmin(admin.ModelAdmin):
    inlines = [ChildModelInline,]

ChildModel通过models.ForeignKey字段与ParentModel相关。我希望能够在ParentModel的内联表单中选择多个子对象来删除,但不能从数据库中删除子对象,只需删除子对象中的ForeignKey关系。

谢谢!

1 个答案:

答案 0 :(得分:0)

您所能做的就是首先为相应的模型定义一个自定义操作,然后在该操作中将models.ForeignKey字段放到null。因此它将删除对象之间的子父关系。它不会从数据库中删除对象。