Mar*_*chi 7 django django-models django-views python-3.x
我正在尝试在活动后 2 天添加付款到期日
class Payment(models.Model):
event_date = models.DateField()
payment_due_date = models.DateField()
class Meta:
ordering = ["payment_due_date"]
def payment_due_date(self):
event_date = self.event_date
return event_date + datetime.timedelta(days=2)
Run Code Online (Sandbox Code Playgroud)
Pycharm 给我一个错误高亮显示
Expected type 'timedelta', got 'DateField' instead more... (Ctrl+F1)
我该如何解决这个问题
终端错误
match = date_re.match(value) TypeError: 预期的字符串或类似字节的对象
And*_*bie 10
您可以save()
在模型中覆盖您的方法。
注意DateTimeField
Django中的 a变成了一个datetime.datetime
对象。因此,要从中检索日期,您需要调用field.date()
.
例子:
模型.py
from django.db import models
import datetime
class Payment(models.Model):
event_date = models.DateField()
payment_due_date = models.DateField()
class Meta:
ordering = ["payment_due_date"]
def save(self, *args, **kwargs):
if self.payment_due_date is None:
self.payment_due_date = self.event_date.date() + datetime.timedelta(days=2)
super(Payment, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4437 次 |
最近记录: |