Django模型选择字段命名约定

时间:2018-07-03 21:00:46

标签: python django naming-conventions

选择字段名称的命名约定是什么。

NOT NULL

我应该为NOT_AVAILABLE字段选择哪种命名约定?

不可用不可用

1 个答案:

答案 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',但是正如前面所说,前者可能有两个原因,还有后一种方法。