【发布时间】:2020-08-27 00:46:12
【问题描述】:
更新 我有两张表(型号),一张用于产品名称和功能,另一张用于价格 我规范化为数据库表
喜欢这个
class Model(models.Model):
name = models.CharField(max_length=23)
def __str__(self):
return self.name
class Feature(models.Model):
model = models.ForeignKey(Model,on_delete=models.CASCADE)
price = models.IntegerField()
company = models.CharField(max_length=33)
def __str__(self):
return self.model
我的意见.py
def create(request):
createmodel = ModelForms(prefix='createmodel')
createfeature = FeatureForm(prefix='createfeature')
if request.method == 'POST':
createmodel = ModelForms(request.POST,prefix='createmodel')
if createmodel.is_valid():
createmodel.save()
name = createmodel.cleaned_data['name']
if createfeature.is_valid():
createfeature = FeatureForm(request.POST,prefix='createfeature',model=name)
createfeature.save()
return redirect('/lists/')
return render(request,'forms/create.html',{'createmodel':createmodel,'createfeature':createfeature})
我的表单.py
class ModelForms(forms.ModelForm):
class Meta:
model = Model
fields = [
'name'
]
class FeatureForm(forms.ModelForm):
read_only = ['model']
class Meta:
model = Feature
fields = [
'price','company'
]
但表单不会保存
如何一次性提供准确的外键(填写ModelForm 至FeatureForm)同时提交两个表单
我知道如何更新两个表单,但是如何通过直接提供实例来创建提交两个表单
非常尊重
【问题讨论】:
-
在我问之前,我搜索了,你提到的链接在更新实例存在的两个表单时起作用,但是如果 foreignKey 实例仍然不存在怎么办?
-
请再看一遍帖子
标签: python django django-models