Как создать экземпляр из родительской модели в Django
Извините, если мой вопрос покажется мелочным, у меня возникла проблема при создании экземпляра из нижеприведенной родительской модели, я хотел получить имя врача в таблицу пациента, но в результате возникла ошибка: Cannot assign "'Ann Lindsey'": "Patientinfo.Referred_doctor" должен быть экземпляром "Doctor"
(есть ли способ сделать поле (Referred_doctor) экземпляром модели DOCTOR?) помогите пожалуйста. вот мой код;
models.py
class Doctor(models.Model):
Profile_picture = models.ImageField(null=True, default='avatar.png', upload_to='images/')
First_Name = models.CharField(max_length=200)
Last_Name = models.CharField(max_length=100)
Doctor_Bio = models.TextField(null=True)
Admission_Date = models.DateTimeField(auto_now=True)
Date_of_Birth = models.DateField()
Doctor_Category = models.CharField(max_length=200)
def __str__(self):
names = (self.First_Name, self.Last_Name)
stringified = ' '.join(names)
return stringified
class Patientinfo(models.Model):
Name = models.CharField(max_length=255)
Gender = models.CharField(max_length=200)
Marital_Status = models.CharField(max_length=100)
Telephone = models.CharField(max_length=30)
Admission_date = models.DateTimeField(auto_now=True)
Patient_Status = models.CharField(max_length=200)
Symptoms = models.TextField()
Referred_deparment = models.CharField(max_length=200)
Referred_doctor = models.ForeignKey(Doctor, on_delete=CASCADE)
def __str__(self):
return self.First_Name
views.py
def padmform(request):
patientdata = Patientinfo.objects.all()
doctors = Doctor.objects.all()
if request.method == 'POST':
Name = request.POST.get('Name')
Gender = Request.POST.get('Gender')
Marital_Status = Request.POST.get('Marital_Status')
Telephone = Request.POST.get= Request.POST.get('Telephone')
Patient_Status = Request.POST.get('Patient_Status')
Symptoms = Request.POST.get('Symptoms')
Referred_deparment = Request.POST.get('Referred_deparment')
Referred_doctor = Request.POST.get('Referred_doctor')
patientdata = Patientinfo(Name=Name, Gender=Gender, Marital_Status=Marital_Status, Telephone=Telephone, Patient_Status=Patient_Status,
Symptoms=Symptoms, Referred_deparment=Referred_deparment, Referred_doctor=Referred_doctor)
patientdata.save()
messages.success(request, 'New patient successfully admitted')
return redirect('Patients')
context = {'patientinfo':patientdata, 'doctors':doctors}
return render(request, 'base/hospital/inpatient/admission.html', context)
**admission.html**
{% block content %}
<body>
<!-- student container -->
<div class="studentcont">
<div class="hospital-cont" >
<section >
<div class="patientadm-formcont" >
<h3>Patient Admission</h3>
<form action="" method="post" name="patientadmform">
{% csrf_token %}
<input type="text" name="Name" required>
<select name="Gender">
<option>--Gender--</option>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<input name="Marital_Status" placeholder="Marital Status">
<input type="number" name="Telephone">
<input type="text" name="Patient_Status">
<input type="text" name="Symptoms">
<input type="text" name="Referred_deparment">
<select name="Referred_doctor" required>
<option>--Gender--</option>
{% for doctor in doctors %}
<option value="{{doctor.First_Name}}">{{doctor.First_Name}}</option>
{% endfor %}
</select>
</form>
</html>
This triggers this error;
*Cannot assign "'Ann Lindsey'": "Patientinfo.Referred_doctor" must be a "Doctor" instance.*
thanks in advance
Добро пожаловать на Stack Overflow. Пожалуйста, прочитайте Как Задать вопрос и Мы не будем делать за вас домашнее задание. Плагиат является серьезным академическим нарушением.