Django中是否有“创建”和“最后编辑”日期的命名约定?
即。在Symfony Framework中,此字段默认命名:
答案 0 :(得分:10)
事实上,据我所知,Django没有规范惯例,但我真的很喜欢Rails惯例:
created_at
日期时间字段created_on
日期字段 created
适用于创建日期,但只要您有更多不明确的字段(例如activated
),就会出现问题。它是布尔值还是日期/日期时间?存在命名约定以帮助开发人员更快地理解代码,并且通过不重要的决策浪费更少的时间。这就是Convention over Configuration范式背后的哲学,这在Rails社区中很重要,但不幸的是在Django中没有那么多。我提到的这种混淆是典型的,这就是为什么我更喜欢永远清楚:
is_activated
activated_at
activated_on
我听说有人说“你不应该把字段名称和数据类型混合在一起”,但在我看来这似乎是一个相当空洞的提示,我从来没有听到任何具体论据。如果我们想要优化代码可读性和决策制定,那么我认为明确的命名约定是最佳选择。
答案 1 :(得分:1)
我更喜欢created
和updated
而没有_at
后缀。我不知道命名字段的任何“规范”偏好。
对于它的价值,我认为 Rails使用created_at / created_on
和updated_at / updated_on
。
答案 2 :(得分:1)
在Django原型模型中,此字段基于模型类型命名,即
所以我们应该遵循这个惯例。
答案 3 :(得分:1)
我不认为在Django中有类似规范方式命名这类内容的东西。有些部分被PEP8很好地覆盖,主要是因为这种事情是超出范围的Django,因为它更多的是风格问题(也许是房屋惯例)。
那就是说,我认为将这些字段命名为created_at
和updated_at
是很常见的,我在编写自己的代码时会亲自遵循这个惯例。我建议避免使用created
或updated
之类的名称,因为它们含糊不清(尽管一些流行的libs使用这种风格):它们是布尔值还是别的? is_created
/ is_updated
,如果您需要,可以选择更好。
答案 4 :(得分:0)
Django Model Utils为此提供了一个模型混合,将它们命名为created
和modified
-我建议使用它们的模型混合来轻松地标准化您的模型和项目。