Python Django model calculated字段,用于获取用系统日期减去给定日期的天数
我试图动态生成一个列值,即计算“从请求需求之日起打开需求的天数”,我试图从系统日期中减去请求的日期,以直接在django模型中获得天数,但未获得以下输出是django模型代码请提供帮助Python Django model calculated字段,用于获取用系统日期减去给定日期的天数,python,django,model,Python,Django,Model,我试图动态生成一个列值,即计算“从请求需求之日起打开需求的天数”,我试图从系统日期中减去请求的日期,以直接在django模型中获得天数,但未获得以下输出是django模型代码请提供帮助 from django.db import models from datetime import datetime Demand_Id = models.CharField(max_length=10, default='BLANK')`enter code here` Requested_Date = mo
from django.db import models
from datetime import datetime
Demand_Id = models.CharField(max_length=10, default='BLANK')`enter code here`
Requested_Date = models.DateField(default=datetime.now)
Days_Open = models.IntegerField(default=0)
@property
def get_Days(self):
date_format = "%Y-%m-%d"
sysdate = datetime.strptime(str(datetime.now().date()), date_format)
odays = (sysdate - datetime.strptime((self.Requested_Date), date_format)).days
return self.odays
@property
def save(self, *args, **kwargs):
self.Days_Open = self.get_Days()
super(Demand_Master, self).save(*args, **kwargs)
def __str__(self):
return self.Demand_Id
简单地说
from django.utils import timezone
class Foo(models.Model):
# rest of your code
@property
def get_Days(self):
return (timezone.now() - self.Requested_Date).days
从django.utils导入时区
Foo类(models.Model):
#代码的其余部分
@财产
def获取天数(自我):
return(timezone.now()-self.Requested_Date).days
如果直接从另一个字段派生,则不应将days_打开
字段,因为这会导致数据重复
从django.utils.timezone立即导入
类MyModel(models.Model):
demand_id=models.CharField(最大长度=10,默认值为空)
请求的日期=models.DateField(默认值=datetime.now)
@财产
def打开天数(自):
返回(现在().date()-self.request\u date).days
定义(自我):
返回自请求\u id
from django.utils.timezone import now
class MyModel(models.Model):
demand_id = models.CharField(max_length=10, default='BLANK')
requested_date = models.DateField(default=datetime.now)
@property
def days_open(self):
return (now().date()-self.request_date).days
def __str__(self):
return self.demand_id