7
這可能是一個相當簡單的問題,但我似乎無法從Django Docs中找到它。我試圖一次保存兩個ModelForms,一個是另一個的ForeignKey。我不確定如何在視圖中編寫邏輯以確保這些邏輯正確地結合在一起。用外鍵保存Django ModelForm
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())
任何幫助將是AP preciated。謝謝!
這是否有幫助[正確的方法來處理多個表單在Django中的一個頁面上](http://stackoverflow.com/questions/1395807/proper-way-to-handle-multiple-forms-on-one-page- in-django) – 2012-07-24 21:17:44
有些答案對你有幫助嗎? – 2012-07-29 21:30:07
爲了所有活躍的StackOverflow用戶,如果您得到可行的解決方案,請將答案標記爲已接受,這樣如果不再需要答案,人們就不會花時間回答問題。 – 2012-08-01 06:49:43