选择字段名称的命名约定是什么。
NOT NULL
我应该为NOT_AVAILABLE字段选择哪种命名约定?
不可用或不可用
答案 0 :(得分:1)
这些choices
并不神奇。左元组项目(我们称这些为键)存储在数据库中,而右元组项目(我们称这些为值) >)是这些值的显示(因此更易于理解)。
这个想法是值可以是 culture-variant (例如,取决于所翻译的语言),而 keys 是不变:无论设置如何,键通常始终相同。由于这些存储在数据库中,因此它们不必很漂亮,因为程序员应该能够理解它们的含义。但是,如果一个人也可以翻译键,那么这可能意味着在更改服务器的语言之后,Django无法再解释包含旧翻译中包含项目的行。由于'active'
当然不等于'actief'
(荷兰语翻译)。
我的个人建议是在这里使用下划线,因为它也是Python标识符,因此您以后可以将其用于getattr(..)
操作。例如:
getattr(Student, some_student.status.upper())
如果STUDENT.NOT_AVAILABLE
具有some_student
作为status
字符串的情况,则可以使用获得'not_available'
,但是正如前面所说,前者可能有两个原因,还有后一种方法。