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 möchte das Fremdschlüsselmodell als Formulare in Django -Formularen verwenden ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post