Django内联表单集的默认前缀

时间:2019-05-10 10:37:48

标签: python django django-forms

说我有以下模型:

class Pizza(models.Model):
   ...

class Topping(models.Model):
   pizza = models.ForeignKey(Pizza, related_name='toppings')

我想制作一个内联表单集,如下所示:

PizzaFormSet = inlineformset_factory(Pizza, Topping, 
                                     form=CreatePizzaForm, 
                                     formset=PizzaToppingsFormSet,
                                     extra=0, min_num=1)

其中PizzaToppingsFormSet继承自BaseInlineFormSet

如果我有

form_data = {
   'form-INITIAL_FORMS': 0,
   'form-TOTAL_FORMS': 1,
   'form-0-meat': 'Chicken',
   'form-0-cheeze': 'Mozzarella',
}
formset = DatesFormSet(form_data)

我收到一个错误django.core.exceptions.ValidationError: ['ManagementForm data is missing or has been tampered with']。我知道我可以指定自己的前缀,例如formset = DatesFormSet(form_data, prefix='my_prefix'),然后它可以工作。

但是我想知道:内联表单集的默认前缀是什么? Django文档说,对于常规格式集,默认前缀为form,但对于嵌入式格式集则不是这样。

0 个答案:

没有答案