如何解决Django,使用 timedelta 将跟进日期添加到发票日期
我有一个简单的模型,我用它来练习各种 Django 的东西:
class Receivables(models.Model):
agent = models.ForeignKey(Agents,on_delete=models.CASCADE,related_name='invoices')
invoice_number = models.CharField(max_length=50)
invoice_amount = MoneyField(decimal_places=2,default=0,default_currency='USD',max_digits=11)
invoice_date = models.DateField()
invoice_due_date = models.DateField()
total_invoices = models.IntegerField(null=True)
我正在尝试创建一个后续日期,计算为从发票日期算起 60 天。
正如我从研究中了解到的,我需要在我的查询集上使用“注释”,所以我首先尝试了这个:
qry = Receivables.objects.annotate(follow_up_date=Receivables.invoice_date+timedelta(days=60))
并且为 + 的不受支持的操作数抛出了一个 TypeError:'DeferredAttribute' 和 'datetime.timedelta'。
我在 StackOverflow 上找到了一个 anser(使用 ExpressionWrapper),我试图像这样处理我的查询:
qry = Receivables.objects.annotate(follow_up_date=models.ExpressionWrapper(Receivables.invoice_date+timedelta(days=60)))
但这会引发完全相同的错误。
请帮助我理解我在这里做错了什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。