Я создаю Портал запросов для своего колледжа, и у него есть форма жалобы, имеющая различные поля, такие как Имя, Фамилия, адрес электронной почты и т. Д. Как я могу получить значения полей, таких как Имя, Фамилия, электронная почта, из уже сохраненных полей модели пользователя.
Пожаловаться на модель
from django.db import models
from datetime import date
from django.contrib.auth.models import User
class complain(models.Model):
Username = models.ForeignKey(User,on_delete=models.CASCADE)
First_name=models.CharField(max_length=30)
Last_name=models.CharField(max_length=30)
Roll_no=models.CharField(max_length=30)
Email_address=models.EmailField(max_length = 100,verbose_name='email address',blank=False,)
FIRST = '1st'
SECOND = '2nd'
THIRD = '3rd'
FOURTH = '4th'
Hostel=((FIRST, 'First'),(SECOND, 'Second'),(THIRD, 'Third'), (FOURTH, 'Fourth'),)
Hostel=models.CharField(max_length=3,choices=Hostel,default=FIRST,)
Room_no=models.CharField(max_length=10)
ACADEMIC = 'Academic'
HOSTEL = 'Hostel'
SPORTS= 'Sports'
RAGGING = 'Ragging'
ComplainDepartment=((ACADEMIC, 'Academic'),(HOSTEL, 'Hostel'),(SPORTS, 'Sports'),(RAGGING, 'Ragging'),)
ComplainDepartment=models.CharField(max_length=100,choices=ComplainDepartm ent,default=HOSTEL)
Complain_Subject = models.CharField(max_length = 100,default = "complain_subject")
ACADEMIC_HEAD = 'Mr.J'
HOSTEL_HEAD = 'Mr.Y'
SPORTS_HEAD = 'Mr.Z'
RAGGING_HEAD = 'Mr.W'
DepartmentHead=((ACADEMIC_HEAD, 'Mr.J'),(HOSTEL_HEAD, 'Mr.Y'),(SPORTS_HEAD, 'Mr.Z'),(RAGGING_HEAD, 'Mr.W'),)
DepartmentHead=models.CharField(max_length=10,choices=DepartmentHead,default=ACADEMIC_HEAD)
ACADEMIC_HEAD_EMAIL = 'it1530@cemk.ac.in'
HOSTEL_HEAD_EMAIL = 'it1531@cemk.ac.in'
SPORTS_HEAD_EMAIL = 'it1525@cemk.ac.in'
RAGGING_HEAD_EMAIL = 'w.w5@gmail.com'
E_O_H=((ACADEMIC_HEAD_EMAIL, 'it1530@cemk.ac.in'),(HOSTEL_HEAD_EMAIL, 'it1531@cemk.ac.in'),(SPORTS_HEAD_EMAIL, 'it1525@cemk.ac.in'),(RAGGING_HEAD_EMAIL, 'w.w5@gmail.com'),)
E_O_H=models.CharField(max_length=100,choices=E_O_H,default=ACADEMIC_HEAD_EMAIL)
ComplainDescription=models.TextField(max_length=500)
ComplainDate=models.DateField(("Date"), default=date.today)
NOTVISITED = 'NV'
VISITED = 'V'
INPROCESS= 'IP'
COMPLETED = 'C'
Status=((NOTVISITED, 'Not Visited'),(VISITED, 'Visited'),(INPROCESS, 'Inprocess'),(COMPLETED, 'Completed'),)
Status=models.CharField(max_length=2,choices=Status,default=NOTVISITED)
def __str__(self):
return self.Name
Пожаловаться Форма
from django.forms import ModelForm
from shp.models import *
class complainform(ModelForm):
class Meta:
model=complain
fields= ['Name','Roll_no','Email_address','Hostel','Room_no','ComplainDepartment','Complain_Subject','DepartmentHead','E_O_H','ComplainDescription','ComplainDate','Status']