我有以下型号:
class Creditor(models.Model):
terms_of_payment = models.IntegerField(
blank=False,
null=False
)
class Invoice(models.Model):
creditor = models.ForeignKey(
Creditor,
blank=False,
null=False,
on_delete=models.CASCADE
)
reception_date = models.DateField(
blank=True,
null=True
)
我从以下查询集中获取int
了due_ondatetime.date
的类型,而不是并且无法弄清楚原因。
invoices = Invoice.objects.annotate(
due_on=ExpressionWrapper(
F('reception_date') + F('creditor__terms_of_payment'),
output_field=DateField()
)
)
我使用的数据库是 MySQL。所以基本上如果reception_date=datetime.date(2021, 5, 13)
和terms_of_payment=2
,我希望得到datetime.date(2021, 5, 15)
,但我得到2021515
的是<class 'int'>
。