如何从Django管理站点

时间:2016-08-10 14:11:29

标签: django django-models django-admin

如果我定义一个具有递归关系的Django模型,如下所示,

Class M(models.Model):
    a = models.CharField(max_length=1)
    ms = models.ManyToManyFied('self')

并在管理网站中输入数据,然后输入M.a ='a','b'和'c'。 Django管理员网站的更改表单将显示ms包含“a”,“b”,“c”。如何从列表中删除“a”,因为我不希望它被分配给当前的M.a?

1 个答案:

答案 0 :(得分:1)

这不是您问题的直接答案,但它可能是一个很好的实际解决方案。您可以创建一个验证数据的ModelForm(即,阻止模型与自身建立关系),然后自定义模型的管理类以在管理站点中使用该自定义表单。这篇SO帖子详细描述了如何:Django ManyToMany model validation

相关问题