2 回答

TA貢獻1796條經驗 獲得超4個贊
IntegerField
s 有 一個和一個 .驗證器可以這樣使用:MinValueValidator
MaxValueValidator
PayDate = models.IntegerField( blank=False, editable=True, validators=[MinValueValidator(1),MaxValueValidator(31)])
如果您希望最大值根據月份而變化,則必須在表單中執行此操作,因為模型上的驗證是固定的

TA貢獻1829條經驗 獲得超9個贊
您必須使用 用于存儲付款日期。通過這樣做,它將始終是一個有效的日期。通過添加 ,您還可以編輯該字段。DateFieldauto_now_add=False
from django.db import models
# Create your models here.
class Bill(models.Model) :
Name = models.CharField(max_length=200, editable=True, blank=False)
Amount = models.DecimalField(editable=True, blank=False, decimal_places=2, max_digits=6)
PayDate = models.DateField(blank=False, auto_now_add=False)
def __str__(self):
return f"{self.Name} @ ${self.Amount} every {self.PayDate} of the month"
添加回答
舉報