回答你的第二个问题-你所说的“数字限制”并不明显。如果您有兴趣防止该值超出定义的范围,则可以使用
validators
from django.core.validators import MaxValueValidator, MinValueValidator
class Tag(models.Model):
'''Items have tag will have according discount percentage'''
tag_discount_percentage = models.IntegerField(default=0, validators=[MinValueValidator(1), MaxValueValidator(100)])
否则,如果要限制小数位数,则应使用
decimal
字段而不是整数。
default
agrument可以是一个可调用的,但不需要引用它所用于的对象。你可以考虑使用
pre_save
而是发出信号,根据其他字段“默认”设置字段值。