【发布时间】:2012-07-23 06:35:02
【问题描述】:
这可能是一个相当简单的问题,但我似乎无法从 Django Docs 中弄清楚。我正在尝试一次保存两个 ModelForm,其中一个是另一个的 ForeignKey。我不确定如何在视图中编写逻辑以确保它们正确地结合在一起。
models.py
class Address(models.Model):
address = models.CharField(max_length=100)
city = models.CharField(max_length=50)
zipcode = models.PositiveIntegerField()
class Store(models.Model):
name = models.CharField(max_length=100)
description = models.CharField(max_length=140, blank=True)
address = models.ForeignKey(Address, null=True)
forms.py
class CreateStore1Form(forms.ModelForm):
class Meta:
model = Store
exclude = ('address',)
class CreateStore2Form(forms.ModelForm):
class Meta:
model = Address
views.py
@login_required
def create(request):
if request.method == "POST":
form1 = CreateStore1Form(request.POST)
form2 = CreateStore2Form(request.POST)
if form1.is_valid() and form2.is_valid():
store = form1.save(address)
new_address = form2.save(commit=False)
new_address.store = store
mew_address.save()
else:
form1 = CreateStore1Form()
form2 = CreateStore2Form()
return render(request, 'create.html', locals())
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
部分答案对您有帮助吗?
-
为了所有活跃的 StackOverflow 用户,如果您得到一个有效的解决方案,请将答案标记为已接受,这样人们就不会在不再需要答案时花时间回答了。跨度>
-
我仍然遇到问题。我将使用解决方案更新此线程或标记有效答案。抱歉让这个帖子开这么久。
标签: django django-forms django-views