我希望表单具有基于条件的某些字段。该模型的预定义如下:
class DumUser(models.Model):
f1 = models.CharField(max_length=100,null=True)
f2 = models.CharField(max_length=20,null=True)
f3 = models.CharField(max_length=3,null=True)
f4 = models.DateField(null=True)
f3 = models.CharField(max_length=3, null=True)
f4 = models.DateField(null=True)
让我们说,创建用户时,DumUser表中将添加一行空值(暂时忽略外键约束。)
此时,对于某些处理,我需要f1,f2和f3 [这是在当前会话期间动态确定的]。数据库已经具有值f1和f2。因此,我希望表单显示可编辑和必填字段f1,f2和f3,其中f1和f2显示数据库中已经存在的值。
如果更改了f1和f2的值,则它们必须与新获得的f3一起反映在数据库中。请帮忙!
答案 0 :(得分:0)
您可以将'fields'关键字参数传递给modelform_factory函数,该函数设置结果表单将包含的字段。
如果无法使用工厂,则可以在fields
之后更改表单实例的__init__
属性(该属性在调用super().__init__()
之前不存在)。