gpt4 book ai didi

Django 模型 - 选择与外键?

转载 作者:行者123 更新时间:2023-12-03 11:57:13 34 4
gpt4 key购买 nike

我知道在 Django 中,ORM 不支持 MySQL 或 PostgreSQL 中的 ENUM 类型,因为这最初是一个 MySQL 扩展,不能跨其他数据库类型移植。因此,两个选项是对您的模型使用“选择”参数,或者使用外键引用。

这些方法的优缺点是什么?

对于诸如性别之类的东西,我假设您会使用“选择”,例如:

GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
...
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)

但是,对于诸如州名之类的东西,支持和反对使用单独的表以及该表的外键的原因是什么?
state = models.ForeignKey(AustralianState)

在什么情况下你会使用一种和另一种?

干杯,
胜利者

最佳答案

当潜在选择的数量很大时,您还应该考虑外键。这是考虑对国家或州使用 FK 的原因之一。否则,您实际上是在源代码中硬编码了大量数据。

关于Django 模型 - 选择与外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4021096/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com