这是一个极其幼稚的问题。正如您所知,它来自对数据库或 Django 不太了解的人。
在 Django 中使用外键有什么优点?
也许一个例子可以帮助我更好地理解。我已经有这样的表了:
City:
id = IntegerField() # e.g. 15
name = CharField() # e.g. 'Rome'
Country:
name = CharField() e.g. 'Italy'
capital = IntegerField() # e.g 15
我是否应该将大写更改为 ForeignKey(City)
,如果是,为什么?某些事情是否变得更快、更方便或更好?
谢谢!
最佳答案
外键是对数据模型的约束,可让您确保一致性。基本上,在您的示例中,如果您没有 capital
作为 City
的 ForeignKey
,它可能包含 id
一个不存在的城市
!当您使用 ForeignKey
时,它会对数据库施加约束,以便您无法删除当前被其他事物引用的事物。因此,如果您尝试先删除名为 "Rome"
的 City
,然后再删除名为 "Italy"
的 Country
,那个城市作为首都,它不会允许你这样做。
使用 ForeignKey
可以确保您永远不必担心关系另一端的“东西”是否仍然存在。
关于django - 在Django中使用ForeignKey有什么优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910252/