保存表单集时向表单集添加额外字段
Add extra field to the formset while saving the formset
我想知道将不是来自 html 表单的数据保存到数据库的替代方法。
这是我的 models.py:
class product(models.Model):
user = models.ForeignKey("user")
product = models.CharField(max_length=128)
cost = models.IntegerField()
这是我的 forms.py:
class productform(forms.ModelForm):
class Meta:
model = product
fields = ["product","cost"]
这是我的views.py
for formset in product_formset:
cost = formset.cleaned_data['cost']
product = formset.cleaned_data['product']
product(
product = product,
cost = cost,
user = request.user,# here user is not coming
).save() through the form.
这里我没有使用 formset.save(),而是遍历表单集以保存附加字段 "user"。我的问题是,是否有一种简单的方法可以在不迭代的情况下保存附加字段 "user"。
不对的地方请大家指正。
不,你不能不迭代,但你可以将代码简化为:
for product in product_formset.save(commit=False):
product.user = request.user
product.save()
我想知道将不是来自 html 表单的数据保存到数据库的替代方法。
这是我的 models.py:
class product(models.Model):
user = models.ForeignKey("user")
product = models.CharField(max_length=128)
cost = models.IntegerField()
这是我的 forms.py:
class productform(forms.ModelForm):
class Meta:
model = product
fields = ["product","cost"]
这是我的views.py
for formset in product_formset:
cost = formset.cleaned_data['cost']
product = formset.cleaned_data['product']
product(
product = product,
cost = cost,
user = request.user,# here user is not coming
).save() through the form.
这里我没有使用 formset.save(),而是遍历表单集以保存附加字段 "user"。我的问题是,是否有一种简单的方法可以在不迭代的情况下保存附加字段 "user"。 不对的地方请大家指正。
不,你不能不迭代,但你可以将代码简化为:
for product in product_formset.save(commit=False):
product.user = request.user
product.save()