我有一个用于 MyModel 模型类的 MyModelForm 表单类,我想为某个字段生成一个随机值。
我看到它的方式是在init或 save 函数中,我尝试使用 self.fields['randfield'] 但它会引发错误'MyModelForm' object has no attribute 'fields'
。
如何访问和更新表单类中的字段,以便我可以使用随机值对其进行实例化?
谢谢。
编辑:使用后self.fields['randint'].initial
我得到一个 KeyError。代码是
好的,这里开始:
def __init__(self, instance=None, *args, **kwargs):
_fields = ('username', 'email')
_initial = model_to_dict(instance.user, _fields) if instance is not None else {}
super(UserDetailsForm, self).__init__(initial=_initial, instance=instance, *args, **kwargs)
self.fields.update(fields_for_model(User, _fields))
self.fields['randint'].initial = '987654321'