gpt4 book ai didi

django-models - django 更新模型不影响 auto_now 时间戳

转载 作者:行者123 更新时间:2023-12-04 19:00:29 26 4
gpt4 key购买 nike

我一直在尝试调试为什么我的几个模型中的 last_updated 字段在执行例如 model.objects.filter(**lookups).update(**defaults) 时没有被更新。例如:

class PaymentMethod(models.Model):
MONTHLY_DIRECT_DEBIT = 'MDD'
QUARTERLY_DIRECT_DEBIT = 'QDD'
CASH_OR_CHEQUE = 'CAC'
PAY_IN_ADVANCE = 'PYM'
PAYMENT_CHOICES = (
(MONTHLY_DIRECT_DEBIT, 'Monthly Direct Debit'),
(QUARTERLY_DIRECT_DEBIT, 'Quarterly Direct Debit'),
(CASH_OR_CHEQUE, 'Cash or Cheque'),
(PAY_IN_ADVANCE, 'Pay Monthly in Advance'),

)
unique_id = models.CharField(max_length=3, choices=PAYMENT_CHOICES)
last_updated = models.DateTimeField(auto_now=True)

def __str__(self):

在这里,我只是尝试更新单个条目,不需要将实例加载到内存中。这似乎是文档https://code.djangoproject.com/ticket/15566 中解释的无法修复的“错误”(出于某种原因,我在文档中看不到它)。

但是,更新包括 last_updated 字段的单行的最佳方法是什么(无需加载到内存中)?

最佳答案

它不像在这个问题中发布的那样工作(声明为不会修复)https://code.djangoproject.com/ticket/22981

.update() 只会更新显式传递给它的字段,因此 auto_now =True 的日期时间字段不会更新。

关于django-models - django 更新模型不影响 auto_now 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38190008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com