【发布时间】:2016-04-22 15:11:21
【问题描述】:
我想就我的问题寻求帮助和指导。
我有以下型号:
class myinfo(models.Model):
name = models.CharField(max_length=30, null=True)
class mynumbers(models.Model):
fkey = models.ForeignKey("myinfo")
Job_Position = models.CharField(max_length=30, null=True)
mynumbers 模型是通过django-dynamic-formset 动态生成的。
我的表格
class info(ModelForm):
name= forms.CharField( max_length=20)
class Meta:
model = APPLICANT_DATA
fields = ('name',)
class numbers(ModelForm):
number = forms.CharField( max_length=20)
class Meta:
model = APPLICANT_DATA
fields = ('number',)
如果您想保存动态表单字段,您必须在视图中执行此操作
for field in formset:
field.save()
我的看法:
def index(request):
aformset = formset_factory(numbers)
formset = aformset(request.POST)
form = info(request.POST)
if request.method == 'POST':
if form.is_valid():
if formset.is_valid():
for field in formset:
formset.save()
form.save()
但是当我的动态生成的字段有一个外键(mynumbers)时,问题就开始了,这会引发错误must be a myinfo instance。如何保存mynumbers 具有myinfo 的外键的2 个表单?有没有比我做的更好的方法?提前谢谢你,
【问题讨论】:
标签: python django django-forms django-views