我在Django管理员中有一个与父母有Process.start
关系的内联模型。
OneToOneField
在admin Inline中我不想显示“添加另一个按钮”,所以我做了类似这样的事情: -
class Child(models.Model):
parent = models.OneToOneField(Parent)
received_on = models.DateField(null=True,)
但它仍然显示添加另一个按钮,问题与父项有关,因为它有class CampaignInfluencerShippingTrackingInline(admin.TabularInline):
model = Child
can_delete = False
extra = 0
fields = ['received_on']
def has_add_permission(self, request):
return False
如果我尝试使用相同代码的OneToOneField
添加另一个按钮未显示但是ForeignKey
1}}它总是显示出来。
有人可以建议我它是如何工作的,我可以做些什么来删除内联子项中的另一个按钮?
我可以在父级中添加内联模型,但我的问题与如何从内联模型中删除“添加另一个按钮”有关。
答案 0 :(得分:1)
只需添加max_num=0
或您想要的内容
class CampaignInfluencerShippingTrackingInline(admin.TabularInline):
model = Child
can_delete = False
extra = 0
max_num=0
fields = ['received_on']
答案 1 :(得分:0)
您希望用户能够使用内联添加一个Child
,对吧?这应该有用,然后:
class CampaignInfluencerShippingTrackingInline(admin.TabularInline):
model = Child
can_delete = False
fields = ['received_on']
extra = 0
可能是绊倒你的原因。当你包含它时,没有任何形式可见;只有内联的标题(" Childs"),表格标题("收到")和"添加另一个孩子"链接。单击链接后,链接将消失,表单将显示。事实上,正如您所料,它仅限于一个孩子。