【发布时间】:2021-06-22 15:23:47
【问题描述】:
我想创建账单。我创建了两个字段due_date 和due_days。 due_date 是当前日期,due_days 是用户定义的天数。这将在当前日期之后添加。我生成下面的代码。它给了我正确的输出。但是由于到期日期没有保存在数据库中
due_days = models.IntegerField()
def save(self, *args, **kwargs):
if self.due_days:
self.due_date = datetime.now()+timedelta(days=self.due_days)
print ("due_date",self.due_date)
super().save(*args, **kwargs)
我怎样才能将它保存在数据库中,它没有得到保存,也不能在字段中显示?
这是我的完整模型
from django.db import models
from djmoney.models.fields import MoneyField
from customer_details.models import CustomerDetailModel
from meter_details.models import MeterDetailModel
from datetime import datetime, timedelta
# Create your models here.
class BillDetailModel(models.Model):
water_charges=MoneyField(max_digits=14, decimal_places=2)
sewerage_charges=MoneyField(max_digits=14, decimal_places=2)
meter_rent=MoneyField(max_digits=14, decimal_places=2)
additional_charges=MoneyField(max_digits=14, decimal_places=2)
surcharge=MoneyField(max_digits=14, decimal_places=2)
current_bill_amount=MoneyField(max_digits=14, decimal_places=2)
previous_outstanding=MoneyField(max_digits=14, decimal_places=2)
credit_amount=MoneyField(max_digits=14, decimal_places=2)
total_payable_amount=MoneyField(max_digits=14, decimal_places=2,null=True)
ca_number = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True,related_name="requests_created")
name = models.ForeignKey(CustomerDetailModel,on_delete=models.SET_NULL,null=True,related_name="customer_name")
bp_number = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_bp_number")
billing_address = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True,related_name="customer_billing_address")
supply_address=models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_supply_address")
mobile_number = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_mobile_number")
telephone_number = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_telephone_number")
security_deposit= models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_security_deposit")
email = models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_email")
PAN= models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_PAN")
GST= models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_GST")
adhar_no= models.ForeignKey(CustomerDetailModel, on_delete=models.SET_NULL, null=True, related_name="customer_adhar_no")
meter_serial_number= models.ForeignKey(MeterDetailModel, on_delete=models.SET_NULL, null=True, related_name="meter_detail_serial_number")
meter_reading_date= models.ForeignKey(MeterDetailModel, on_delete=models.SET_NULL, null=True, related_name="meter_detail_reading_date")
bill_date= models.IntegerField()
due_days = models.IntegerField()
def save(self, *args, **kwargs):
# due_date=
if self.due_days:
self.due_date = datetime.now()+timedelta(days=self.due_days)
print ("due_date",self.due_date)
super().save(*args, **kwargs)
class Meta:
db_table = 'bill_details'
【问题讨论】:
-
有错误吗?你能展示整个模型吗?
-
不,没有任何错误我在我的问题中发布了我的完整模型
-
due_days不在模型中... -
再检查一下我改了
-
现在
due_date不见了……
标签: datetime django-models super timedelta days