Django:如何向用户输入的现有日期添加 2 天

2024-06-09

我正在尝试添加活动后 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)

Pycharm 给我一个错误突出显示Expected type 'timedelta', got 'DateField' instead more... (Ctrl+F1)

我该如何解决这个问题

终端错误

匹配 = date_re.match(值) 类型错误:预期的字符串或类似字节的对象


你可以覆盖你的save()模型中的方法。

Note that a DateTimeField在 Django 中成为datetime.datetime目的。因此,要从中检索日期,您需要调用field.date().

Example:

模型.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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:如何向用户输入的现有日期添加 2 天 的相关文章

随机推荐