Ich bin Anfänger in der Programmierung, und ich versuche meine erste Django App.Wie kann ich Daten in zwei verschiedene Modelle einfügen?
Diesmal habe ich drei verschiedene Modelle, aber mit einem einzigen form
im Moment, als ich Save
schlug, möchte ich Daten auf diesem Formularmodell und in den anderen 2 Modellen speichern.
Also in meinem Display möchte ich die anderen beiden Modelle zu zeigen, was ich habe.
Ist das überhaupt möglich?
models.py
class Personame(models.Model):
name = models.CharField(max_length=128)
def __str__(self):
return self.name
class Personlastname(models.Model):
last_name = models.CharField(max_length=128)
def __str__(self):
return self.last_name
class Personinfo(models.Model):
personame = models.CharField(max_length=128)
personlastname = models.CharField(max_length=128)
address = models.TextField()
phone_number = models.CharField(max_length=128)
hobbies =models.CharField(max_length=128)
def __str__(self):
return self.personame
forms.py:
class personform(forms.ModelForm):
personame = forms.CharField(label = "Name")
personlastname = forms.CharField(label = "Last Name")
class Meta:
model = Personinfo
fields = ["personame","personlastname","address","phone_number","hobbies"]
views.py:
def index(request):
queryset = Personame.objects.all()
queryset2 = Personlastname.objects.all()
qs = chain(queryset,queryset2)
form = personform(request.POST or None)
context = {
"qs": qs,
"form":form,
}
if form.is_valid():
instance = form.save()
return render(request, "index.html", context)
index.html:
<form method="POST" action="">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save!" />
</form>
<table >
<tr>
<th>Name</th>
<th>Last Name</th>
</tr>
{% for item in qs %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.last_name }}</td>
</tr>
{% endfor %}
</table>
Grundsätzlich möchte ich name
in Personinfo
und Personame
speichern, und ich möchte last_name
in Personinfo
und Personlastname
speichern. So kann ich Personame
und Personlastname
in Vorlage anzeigen.
Kann mir bitte jemand helfen?
würde ich für Ihre Hilfe sehr freuen ... Dank
Ich brauche 3 diferent Modelle eine für das Formular und die anderen, die in Vorlagen angezeigt werden. Deshalb möchte ich in mehrere Tabellen aus einem einzigen Formular einfügen. – User100696