说我有以下模型:
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
,但对于嵌入式格式集则不是这样。