我想动态添加字段。 我正在使用Django 1.11.2
我做到了:
class AdminOfferForm(forms.ModelForm):
product1 = forms.ModelChoiceField(queryset=ManagerProduct.get_products_qs(), required=True)
quantity1 = forms.IntegerField(min_value=0, required=True)
price1 = forms.DecimalField(max_digits=10, decimal_places=c.DECIMALS, min_value=0.01, required=True)
class Meta:
model = Offer
exclude = ['date_added', 'date_updated']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for x in range(100):
x += 2
self.fields['product' + str(x)] = forms.ModelChoiceField(queryset=ManagerProduct.get_products_qs(), required=False)
self.fields['quantity' + str(x)] = forms.IntegerField(min_value=0, required=True)
self.fields['price' + str(x)] = forms.DecimalField(max_digits=10, decimal_places=c.DECIMALS, min_value=0.01, required=True)
self.Meta.fields.append('product' + str(x))
self.Meta.fields.append('quantity' + str(x))
self.Meta.fields.append('price' + str(x))
实例中的所有内容似乎都正常,我看到了这些字段,但在html中却没有出现。
我没有声明任何字段集,如果我声明了该字段集,则会收到错误消息,并且无法识别在init中创建的字段