【发布时间】:2018-08-01 14:31:03
【问题描述】:
当在 Django 中创建多选选项时,似乎有两种不同的方法可以做到这一点 - 选项 a 或选项 b,见下文。每个选项相对于另一个选项有什么优势。一个通常比另一个更好吗?我错过了更好的方法吗?
选项a
TYPE_CHOICES=(
('teacher', ("Teacher")),
('student', ("Student")),
)
user_type = models.CharField(max_length=20, default='student', choices=TYPE_CHOICES)
选项 b
TYPE_CHOICES=(
(1, ("Teacher")),
(2, ("Student")),
)
user_type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, default=1)
【问题讨论】:
-
我个人只会按照文档的建议去做。(docs.djangoproject.com/en/2.0/ref/models/fields/…) 在我所有的项目中,我倾向于使用字符串,因为您实际上可以在数据库中看到这些信息,而无需应用程序指示它们的含义.否则,如果有 15-20 个选项,并且您正在 CLI 甚至 GUI 上查看数据库,则需要查找每个整数的含义
标签: django django-models