如何解决想要将due_date保存在使用def save(self, *args, **kwargs)覆盖的数据库中:
我想创建帐单。我创建了两个字段due_date 和due_days。 due_date 是当前日期,due_days 是 user_defined 天数。这将在当前日期之后添加。我生成以下代码。它给了我正确的输出。但是由于due_date没有保存在数据库中
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,related_name="customer_name")
bp_number = models.ForeignKey(CustomerDetailModel,related_name="customer_bp_number")
billing_address = models.ForeignKey(CustomerDetailModel,related_name="customer_billing_address")
supply_address=models.ForeignKey(CustomerDetailModel,related_name="customer_supply_address")
mobile_number = models.ForeignKey(CustomerDetailModel,related_name="customer_mobile_number")
telephone_number = models.ForeignKey(CustomerDetailModel,related_name="customer_telephone_number")
security_deposit= models.ForeignKey(CustomerDetailModel,related_name="customer_security_deposit")
email = models.ForeignKey(CustomerDetailModel,related_name="customer_email")
PAN= models.ForeignKey(CustomerDetailModel,related_name="customer_PAN")
GST= models.ForeignKey(CustomerDetailModel,related_name="customer_GST")
adhar_no= models.ForeignKey(CustomerDetailModel,related_name="customer_adhar_no")
meter_serial_number= models.ForeignKey(MeterDetailModel,related_name="meter_detail_serial_number")
meter_reading_date= models.ForeignKey(MeterDetailModel,related_name="meter_detail_reading_date")
bill_date= models.IntegerField()
due_days = models.IntegerField()
def save(self,**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 = models.IntegerField()
due_date = models.CharField(editable=False,max_length=100)
def save(self,*args,**kwargs):
if self.due_days:
self.due_date = datetime.now()+timedelta(days=self.due_days)
super(BillDetailModel,self).save(*args,**kwargs)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。