[Django] auto_now / auto_now_add "überschreiben"...
Verfasst: Mittwoch 21. September 2011, 13:24
ich nutzte auto_now / auto_now_add in einem Model, zb:
Nun möchte ich bei einigen Einträgen eigene Zeiten eintragen. Also Quasi auto_now / auto_now_add temporär deaktivieren...
Mir ist das eingefallen:
(siehe auch https://gist.github.com/1231898 )
Aber schön ist das nicht. Geht's einfacher?
EDIT: Das ganze brauche ich nur für eine einmalige Migration. Somit soll es bei auto_now / auto_now_add bleiben...
EDIT2: Siehe auch: http://stackoverflow.com/questions/7499 ... to-now-add
Code: Alles auswählen
class UpdateInfoBaseModel(models.Model):
createtime = models.DateTimeField(auto_now_add=True)
lastupdatetime = models.DateTimeField(auto_now=True)
Mir ist das eingefallen:
Code: Alles auswählen
for field in new_entry._meta.local_fields:
if field.name == "lastupdatetime":
field.auto_now = False
elif field.name == "createtime":
field.auto_now_add = False
new_entry.createtime = date
new_entry.lastupdatetime = date
new_entry.save()
for field in new_entry._meta.local_fields:
if field.name == "lastupdatetime":
field.auto_now = True
elif field.name == "createtime":
field.auto_now_add = True
Aber schön ist das nicht. Geht's einfacher?
EDIT: Das ganze brauche ich nur für eine einmalige Migration. Somit soll es bei auto_now / auto_now_add bleiben...
EDIT2: Siehe auch: http://stackoverflow.com/questions/7499 ... to-now-add