在Django中,“创建日期”和“最后编辑日期”的命名规则是什么?例如,在Symfony框架中,这些字段默认命名为:created_at和updated_at。
实际上,据我所知,Django没有规范的约定,但我真的很喜欢Rails的约定(我想Symphony也受到了启发):
created_at
用于DateTime字段created_on
用于Date字段created
对于创建日期很好用,但是一旦出现更加模糊的字段,比如activated
,它就成为了一个问题。它是布尔值还是日期/时间?命名约定存在的目的是帮助开发人员更快地理解代码,并减少在不重要的决策上浪费时间。这就是约定优于配置范式的哲学,它在Rails社区中非常流行,但在Django中不太流行。例如,我提到的这种混淆是典型的,这就是为什么我总是更加清晰明了:
is_activated
activated_at
activated_on
date_joined
和date_submitted
或join_date
和submit_date
中的任何一个? - Thijs van DienAbstractBaseUser
(django.contrib.auth.base_user
) 中的 last_login
,这甚至更加不一致。 - pawel我更喜欢使用created
和updated
而不带有_at
后缀。我不知道命名字段的任何“规范”偏好。
值得一提的是,我认为Rails使用created_at / created_on
和updated_at / updated_on
。
Django Model Utils提供了一个模型mixin,将它们命名为created
和modified
-- 我建议使用他们的模型mixin来轻松地在您的所有模型和项目中进行标准化。