【发布时间】:2019-10-08 20:22:18
【问题描述】:
这是一个通用的数据库问题,并非特定于 Django。由于我使用的是 Django,所以我在这种情况下问它。假设我有三个模型:
class ModelA(models.Model)
name = models.CharField(max_length=255)
class ModelB(models.Model)
a = models.ForeignKey(ModelA, on_delete=models.CASCADE)
class ModelC(models.Model)
a = models.ForeignKey(ModelA, on_delete=models.CASCADE)
bs = models.ManyToManyField(ModelB, blank=True)
我希望ModelC 拥有指向许多ModelBs 的链接。我希望有一个约束,只允许ModelC 有一个ModelB,如果他们共享一个共同的ModelA。有没有办法在数据库级别正确地构建它,或者应该在系统的其他部分逻辑地完成这个?
【问题讨论】:
标签: django database django-models