class AbstractBaseField(models.Model):
choices = models.CharField(_("Choices"), max_length=1000, blank=True)
class Meta:
abstract = True
class TicketField(AbstractBaseField):
pass
TicketField._meta.get_field("choices").max_length = 5000
我正在尝试修改max_length
上一个字段的TicketField
属性,该属性继承于抽象模型。如您所见,我对模型定义领域进行了修补,并且迁移已按预期进行。该字段正确应用了max_length
,我可以通过shell设置好该值,但是管理员验证失败,好像旧的max_length
仍然存在,显示错误确保此值具有最多1000个字符(具有XXXX)。
我已经在运行时检查了ModelForm上的max_length
和Validator值,它们都使用了新的max_length
,但是仍然会出现验证错误。
(Pdb) self.fields["choices"].max_length
5000
(Pdb) self.fields["choices"].validators[0]._constructor_args
((5000,), {})
(Pdb) self.fields["choices"].widget.attrs
{u'class': u'vTextField', u'maxlength': '5000'}