Я хочу использовать модель иностранного ключа в качестве форм в формах djangoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Я хочу использовать модель иностранного ключа в качестве форм в формах django

Сообщение Anonymous »

У меня есть две модели в Django Farmer and Tractor, и я хочу использовать обе модели в одной форме на веб -странице, чтобы со всеми свойствами, как входные данные, такие как имя, телефон, электронная почта, идентификатор, цена и т. Д.
models.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 Это только функция формы < /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>
Вот мои формы. 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>
Я могу отправить форму, но после подачи я не получаю подробную информацию о таких фермерах, как телефон, идентификатор электронной почты и т. Д. В базе данных. Подробная информация о тракторе сохраняется после подачи, но детали фермера не сохранены.

Подробнее здесь: https://stackoverflow.com/questions/694 ... ango-forms
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»