Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django model calculated字段,用于获取用系统日期减去给定日期的天数_Python_Django_Model - Fatal编程技术网

Python Django model calculated字段,用于获取用系统日期减去给定日期的天数

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

我试图动态生成一个列值,即计算“从请求需求之日起打开需求的天数”,我试图从系统日期中减去请求的日期,以直接在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 = 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