【问题标题】:Is it possible parse a model into a modelform?是否可以将模型解析为模型形式?
【发布时间】:2023-01-09 23:12:02
【问题描述】:

如果我有一个person model 和一个person modelform,我可以使用模型将值插入到模型表单中并检查它是否有效吗?

例子:

class Person(models.Model:
   name = models.CharField(max_length=50)
   age = models.IntegerField(default=0)

class PersonModelForm(ModelForm):
   model = Person
   fields = '__all__'
if request.method == 'POST':
   name = request.POST['name']
   age = request.POST['age']

   person = Person(name=name, age=age)
   person_form = PersonModelForm(INSERT HERE SOMETHING)
   if person_form.is_valid:
      print('person_form is valid')

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    是的,您可以将其作为 instance kwarg 传递:

    person_form = PersonModelForm(instance=person)
    

    但是您通常不需要这样做,因为 ModelForm 的全部意义在于它会根据请求的 POSTed 表单自动将实例填充到自身中。

    而且,即使手动执行此操作也比以前更方便:

    if request.method == 'POST':
       person_form = PersonModelForm(request.POST)
       if person_form.is_valid:
          print('person_form is valid')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多