有两个模范学院,系
class College(models.Model):
name = models.CharField(max_length=200)
uid = models.CharField(max_length=10, unique=True)
website = models.URLField()
class Dept(models.Model):
name = models.CharField(max_length=200)
uid = models.CharField(max_length=10)
college = models.ForeignKey(College)在这里,我们可以说在关系中有两种方式..。
使用第二设计时遇到的麻烦
大学里的每个系都不能有重复的名字。也就是说,我们不能在一所大学里用一个单一的名字设立多个系。怎么做?
采用了正确的数据库设计吗?如果不是怎么做的话?
发布于 2013-04-11 10:07:39
你的外键模型看起来是正确的,如果不能将一个系划分成多所大学。如果一个系可以划分为多所大学,那么你必须设置一个带有“通过”论点的ManyToMany,并且在低谷模型中添加一个"unique_together“,如下面所示:
对于FK,要添加您的约束,您应该更改部门如下:
class Dept(models.Model):
name = models.CharField(max_length=200)
uid = models.CharField(max_length=10)
college = models.ForeignKey(College)
class Meta:
unique_together = (('name', 'college'),)https://stackoverflow.com/questions/15945864
复制相似问题