你好Djangonauts:
我用django-lint检查了我的项目,产生了:
W:211,16:MyModel: timestamp: Uses superceded auto_now or auto_now_add
auto_now/auto_now_add not technically deprecated, but they still suck.
他们为什么说auto_now / auto_now_add“suck”?使用这两个字段参数实现创建/上次更新的模式没有问题。
这种模式有更好的方法吗?自定义字段类?为什么(如果这种方法更好)它还没有被集成到Django中?
答案 0 :(得分:12)
正确的解决方法是将callable传递给返回适当日期时间的字段default
,例如datetime.datetime.now
。
答案 1 :(得分:2)
auto_now
和auto_now_add
被视为有害,因为您绝对无法通过django更改值(例如,在管理界面中)。
这与其他旗帜无关,而django人通常不喜欢那种魔法。