我写了这个django 1.7.7代码:
class Color(models.Model):
color = models.CharField(max_length=20, primary_key=True)
def __unicode__(self):
return str(self.color)
class Pen(models.Model):
label = models.CharField(max_length=20, primary_key=True)
color = models.ForeignKey('Color')
class PenAdmin(admin.ModelAdmin):
pass
class PenInline(admin.TabularInline):
model = Pen
class ColorAdmin(admin.ModelAdmin):
inlines = [PenInline,]
admin.site.register(Pen, PenAdmin)
admin.site.register(Color, ColorAdmin)
我想知道为什么当我点击管理页面中的添加颜色按钮时,它还会显示3个笔字段,如下图所示,以及如何从该特定对话框中删除它们。 我已经尝试了TabularInline和StackedInline,它们看起来完全相同。
答案 0 :(得分:1)
InlineModelAdmin
extra
的默认值为3
,因此您只需在extra = 0
声明中更改PenInline
:
class PenInline(admin.TabularInline):
model = Pen
extra = 0
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.extra
或查看https://stackoverflow.com/a/2228821/3033586
或删除ColorAdmin
声明并将最后一行更改为admin.site.register(Color)