我在 Django(1.4) 模型中有一个多对多关系。
class UserProfile(models.Model):
foos = models.ManyToManyField(Foo)
我想强制每个用户(配置文件)至少有一个 Foo。 Foos 可以有零个或多个用户(配置文件)。
我希望在模型和管理员级别强制执行此操作,但仅在管理员级别执行它就足够了。
如果我理解正确的话,Django-speak 中的“许多”是零个或多个。
我想要一个 ManyToOneOrMore 关系。我怎样才能做到这一点?
谢谢,
克里斯。
最佳答案
您不能像@Greg 详细信息那样在模型级别强制执行此操作,但您可以通过简单地将字段设为必填字段来在表单上强制执行此操作。这不会阻止任何具有 shell 级别访问权限的人手动创建没有 foo 的 UserProfile,但它会强制任何人使用基于浏览器的表单创建方法。
关于django - 在 Django 中,在多对多关系中至少强制执行一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10480322/