Das ist wahrscheinlich eine ziemlich einfache Frage, aber ich kann es nicht aus den Django Docs herausfinden. Ich versuche, zwei ModelForms gleichzeitig zu speichern, wobei einer der ForeignKey eines anderen ist. Ich bin mir nicht sicher, wie ich die Logik in die Ansichten schreiben soll, um sicherzustellen, dass diese richtig zusammenpassen.Speichern von Django ModelForm mit einem 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())
Jede Hilfe ap wäre genervt. Vielen Dank!
Hilft dies [Die richtige Methode zur Handhabung mehrerer Formulare auf einer Seite in Django] (http://stackoverflow.com/questions/1395807/proper-way-to-handle-multiple-forms-on-one-page- in-django) –
Haben dir einige Antworten geholfen? –
Für alle aktiven StackOverflow-Benutzer, wenn Sie eine funktionierende Lösung erhalten, markieren Sie die Antwort als akzeptiert, so dass die Leute keine Zeit darauf verwenden, zu antworten, wenn die Antwort nicht mehr benötigt wird. –