by Anonymous » 16 Feb 2025, 15:06
Ich habe zwei Modelle in Django Farmer und Tractor und möchte beide Modelle in einzelnen Form auf der Webseite verwenden, damit mit allen Eigenschaften wie Namen wie Name, Telefon, E -Mail, Preis usw. gibt
meine Modelle.py < /p>
class Farmer(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
phone =models.CharField(max_length=10)
address = models.TextField(max_length=200)
email_address = models.EmailField()
def full_name(self):
return f"{self.first_name} {self.last_name}"
def __str__(self):
return self.full_name()
class Post(models.Model):
tractor_price = models.IntegerField(max_length=150)
implementation = models.CharField(max_length=50)
purchase_date = models.DateField(auto_now=False)
slug = models.SlugField(unique=True, db_index=True, null=True,blank=True)
tractor_company = models.CharField(max_length=50)
tractor_model = models.CharField(max_length=50)
description = models.TextField(validators=[MinLengthValidator(10)])
date = models.DateField(auto_now=False)
farmer = models.ForeignKey(
Farmer, on_delete=models.SET_NULL, null=True, related_name="posts")
< /code>
Forms.py
from django import forms
from django.forms import ModelForm
from .models import Post,Farmer
class PostForm(ModelForm):
class Meta:
model = Post
fields = ["tractor_price","implementaion","purchase_date","tractor_company","tractor_model","description"]
class FarmerForm(ModelForm):
class Meta:
model = Farmer
fields = ['first_name','last_name','phone','address','email_address']
< /code>
Views.py Dies ist nur die Formularfunktion < /p>
def add_post(request):
submitted = False
if(request.method == "POST"):
form1 = FarmerForm(request.POST,prefix="form1")
form2 = PostForm(request.POST,prefix="form2")
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
return HttpResponseRedirect("/add_post?submitted=True")
else:
form1 = FarmerForm(prefix="form1")
form2 = PostForm(prefix="form2")
if("submitted" in request.GET):
submitted = True
return render(request,"tractor/form.html",{"form1":form1,"form2":form2, "submitted": submitted})
< /code>
Hier ist meine Form.html < /p>
{% extends "base.html" %} {% block content %}
Add Event
{% if submitted %}
Your Form is Submitted
{% else %}
{% csrf_token %}
{{ form1.as_p }}
{{ form2.as_p }}
send data
{% endif %} {% endblock %}
< /code>
Ich kann das Formular einreichen, aber nach der Einreichung erhalte ich keine Details von Landwirt wie Telefon, E -Mail -ID usw. in der Datenbank. Details des Traktors werden nach der Einreichung gespeichert, aber das Detail des Landwirtes wird nicht gespeichert.
Ich habe zwei Modelle in Django Farmer und Tractor und möchte beide Modelle in einzelnen Form auf der Webseite verwenden, damit mit allen Eigenschaften wie Namen wie Name, Telefon, E -Mail, Preis usw. gibt
meine Modelle.py < /p>
class Farmer(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
phone =models.CharField(max_length=10)
address = models.TextField(max_length=200)
email_address = models.EmailField()
def full_name(self):
return f"{self.first_name} {self.last_name}"
def __str__(self):
return self.full_name()
class Post(models.Model):
tractor_price = models.IntegerField(max_length=150)
implementation = models.CharField(max_length=50)
purchase_date = models.DateField(auto_now=False)
slug = models.SlugField(unique=True, db_index=True, null=True,blank=True)
tractor_company = models.CharField(max_length=50)
tractor_model = models.CharField(max_length=50)
description = models.TextField(validators=[MinLengthValidator(10)])
date = models.DateField(auto_now=False)
farmer = models.ForeignKey(
Farmer, on_delete=models.SET_NULL, null=True, related_name="posts")
< /code>
Forms.py
from django import forms
from django.forms import ModelForm
from .models import Post,Farmer
class PostForm(ModelForm):
class Meta:
model = Post
fields = ["tractor_price","implementaion","purchase_date","tractor_company","tractor_model","description"]
class FarmerForm(ModelForm):
class Meta:
model = Farmer
fields = ['first_name','last_name','phone','address','email_address']
< /code>
Views.py Dies ist nur die Formularfunktion < /p>
def add_post(request):
submitted = False
if(request.method == "POST"):
form1 = FarmerForm(request.POST,prefix="form1")
form2 = PostForm(request.POST,prefix="form2")
if form1.is_valid() and form2.is_valid():
form1.save()
form2.save()
return HttpResponseRedirect("/add_post?submitted=True")
else:
form1 = FarmerForm(prefix="form1")
form2 = PostForm(prefix="form2")
if("submitted" in request.GET):
submitted = True
return render(request,"tractor/form.html",{"form1":form1,"form2":form2, "submitted": submitted})
< /code>
Hier ist meine Form.html < /p>
{% extends "base.html" %} {% block content %}
Add Event
{% if submitted %}
Your Form is Submitted
{% else %}
{% csrf_token %}
{{ form1.as_p }}
{{ form2.as_p }}
send data
{% endif %} {% endblock %}
< /code>
Ich kann das Formular einreichen, aber nach der Einreichung erhalte ich keine Details von Landwirt wie Telefon, E -Mail -ID usw. in der Datenbank. Details des Traktors werden nach der Einreichung gespeichert, aber das Detail des Landwirtes wird nicht gespeichert.