gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 21:20:22 24 4
gpt4 key购买 nike

我正在尝试在事件后 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 gives me a error highligting Expected type 'timedelta', got 'DateField' instead more... (Ctrl+F1)



我该如何解决这个问题

终端错误

match = date_re.match(value) TypeError: expected string or bytes-like object

最佳答案

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

备注 那一个 DateTimeField在 Django 中变成了 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)

关于Django:如何将 2 天添加到用户输入的现有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54657667/

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