मेरे पास एक मॉडल है:
class FooBar(models.Model):
createtime = models.DateTimeField(auto_now_add=True)
lastupdatetime = models.DateTimeField(auto_now=True)
मैं कुछ मॉडल उदाहरणों के लिए दो दिनांक फ़ील्ड को अधिलेखित करना चाहता हूं (डेटा का माइग्रेशन करते समय उपयोग किया जाता है)। वर्तमान समाधान इस तरह दिखता है:
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
क्या कोई बेहतर समाधान है?
auto_now(_add)