Alex Rivera | Logout

Why does django-lint tell me the `auto_now_add` is deprecated?

Asked 2012-04-17T16:15:42.170
8

Hi fellow Djangonauts:

I checked my project with django-lint, and it yields:

W:211,16:MyModel: timestamp: Uses superceded auto_now or auto_now_add

The commit message:

auto_now/auto_now_add not technically deprecated, but they still suck.

Why do they say auto_now/auto_now_add "suck"? I had no problem implementing the created/last-updated pattern with these two field parameters.

Is there a better approach for this pattern? Custom Field classes? And why (if this approach is better) it hasn't been integrated into Django?

Edit
Report

1 Answer

2

auto_now and auto_now_add are considered harmful, because you have absolutely no way to change the value via django (say for example, in the admin interface).

This is an inconsitency with other flags, and django people generally don't like that sort of magic.

answered 2012-04-17T16:25:16.957

Your Answer