我的模型A,B和AB。
A对象有一个可以通过我的中间模型链接到许多对象的ManyToManyField调用。在我的模型的管理页面上,我
有一个非常漂亮的部分,里面有很多对象。A.mBABTabularInlineABA
一切都很好。除了该TabularInline部分B在每个AB对象的行中显示对象的“添加”和“更改”按钮之外,我想删除这些按钮。我仍然希望能够添加、更改和删除AB对象行,而不是B它们引用的对象。
我曾尝试将can_add_related, can_change_related,can_delete_related属性设置为False,但这没有任何作用。
class ABInline(admin.TabularInline):
model = AB
def get_form(self, request, obj=None, **kwargs):
form = super(ABInline, self).get_form(request, obj, **kwargs)
form.base_fields['m'].widget.can_add_related = False
form.base_fields['m'].widget.can_change_related = False
form.base_fields['m'].widget.can_delete_related = False
return form
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?或者有没有其他方法可以为TabularInline字段完成此操作?