首页 > 解决方案 > Django模型计算字段以获取用系统日期减去给定日期的天数

问题描述

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

标签: pythondjangomodel

解决方案


简单地,

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

推荐阅读