从django admin中删除另一个

时间:2017-12-18 08:43:28

标签: python django django-models django-admin

我在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}}它总是显示出来。

有人可以建议我它是如何工作的,我可以做些什么来删除内联子项中的另一个按钮?

我可以在父级中添加内联模型,但我的问题与如何从内联模型中删除“添加另一个按钮”有关。

2 个答案:

答案 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"),表格标题("收到")和"添加另一个孩子"链接。单击链接后,链接将消失,表单将显示。事实上,正如您所料,它仅限于一个孩子。