我想知道将数据保存到数据库的替代方法,这些方法不是来自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()而是在遍历formset以保存附加字段" user"。我的问题是,有一种简单的方法来保存额外的字段" user"没有迭代。 有人请纠正这个问题是否正确。
答案 0 :(得分:3)
不,如果没有迭代,你就无法做到,但你可以简化代码:
for product in product_formset.save(commit=False):
product.user = request.user
product.save()