django可以在其父内联中显示ForeignKey。[refer]
我所需要的是完全颠倒的。
我的网站中有一个导航栏,我只需要一个Menu模型来控制导航栏下的MenuButtons的名称和网址。子MenuButton
的数量固定为4(将来不会改变)。
因此,设计我的菜单模型的最简单和正确的方法如下:
class MenuButton(models.Model):
class Meta:
verbose_name = u"菜单按钮"
verbose_name_plural = u"菜单按钮"
name = models.CharField(u'名字', max_length=8)
url = models.CharField(u'链接', max_length=100)
priority = models.IntegerField(u'排序优先级', null=True, blank=True)
create_time = models.DateTimeField(u'创建时间', auto_now_add=True)
update_time = models.DateTimeField(u'更新时间', auto_now=True)
def __unicode__(self):
return self.name
class Menu(models.Model):
class Meta:
verbose_name = u"菜单"
verbose_name_plural = u"菜单"
button_1 = models.ForeignKey(MenuButton, verbose_name=u'按钮1', related_name="button_1")
button_2 = models.ForeignKey(MenuButton, verbose_name=u'按钮2', related_name="button_2")
button_3 = models.ForeignKey(MenuButton, verbose_name=u'按钮3', related_name="button_3")
button_4 = models.ForeignKey(MenuButton, verbose_name=u'按钮4', related_name="button_4")
我只想让管理员显示一个菜单。人们只能更改MenuAdmin
编辑表单中的四个按钮,既不删除也不添加新按钮。但我无法找到构建自定义字段的方法。
答案 0 :(得分:1)
设计错了。 2解决方案来解决这个问题: