在Django中,在多对多关系中至少强制一个值?

在Django中,在多对多关系中至少强制一个值?,django,orm,Django,Orm,在Django(1.4)模型中,我有一个多对多关系 我想强制每个用户(配置文件)至少有一个Foo。FOO可以有零个或多个用户配置文件 我希望这能在模型和管理层得到实施,但仅仅在管理层实施就足够了 如果我理解正确,Django语中的“many”是零或更多 我想要一个多人的关系。我该怎么做 谢谢 Chris。不幸的是,我认为这在模型级别是不可能的,因为许多数据是与其他模型字段分开保存的。通过指定自定义表单并在表单上编写clean()方法,您应该能够在管理级别强制执行它 您不能在模型级别将其作为@Gr

在Django(1.4)模型中,我有一个多对多关系

我想强制每个用户(配置文件)至少有一个Foo。FOO可以有零个或多个用户配置文件

我希望这能在模型和管理层得到实施,但仅仅在管理层实施就足够了

如果我理解正确,Django语中的“many”是零或更多

我想要一个多人的关系。我该怎么做

谢谢


Chris。

不幸的是,我认为这在模型级别是不可能的,因为许多数据是与其他模型字段分开保存的。通过指定自定义表单并在表单上编写clean()方法,您应该能够在管理级别强制执行它

您不能在模型级别将其作为@Greg details强制执行,但您可以通过简单地将字段设置为必需字段在表单上强制执行。这不会阻止任何具有shell级别访问权限的人在没有foo的情况下手动创建UserProfile,但会强制任何人使用基于浏览器的表单创建方法

class UserProfile(models.Model):
    foos = models.ManyToManyField(Foo)