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"
添加回答
举报