Я новичок в Django и пытаюсь создать модель профиля (пациента). Вот мои модели.
from django.db import models
from django.contrib.auth.models import User
class Patient(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
age = models.PositiveSmallIntegerField()
gender = models.CharField(max_length=1)
def __str__(self):
return str(self.user.username)
class Doctor(models.Model):
name = models.CharField(max_length=50)
max_slots = models.PositiveIntegerField(default=10)
available = models.PositiveIntegerField(default=0)
def __str__(self):
return str(self.name)
class Assistant(models.Model):
name = models.CharField(max_length=50)
docid = models.OneToOneField('Doctor', on_delete=models.CASCADE)
def __str__(self):
return str(self.name)
class Appointment(models.Model):
confirmed = models.BooleanField(default=False)
patid = models.OneToOneField('Patient', on_delete=models.CASCADE)
docid = models.ForeignKey('Doctor', on_delete=models.CASCADE)
assid = models.ForeignKey('Assistant', on_delete=models.CASCADE)
def __str__(self):
return str(self.patid)
Последний файл миграции
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('doctor', '0014_auto_20200318_0219'),
]
operations = [
migrations.AlterField(
model_name='patient',
name='user',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
и ошибка, которую я получаю при запуске миграции
Operations to perform:
Apply all migrations: admin, auth, contenttypes, doctor, sessions
Running migrations:
Applying doctor.0011_auto_20200318_0211...Traceback (most recent call last):
File "C:\Users\syd's\.virtualenvs\django-hospital-0gp1XnhJ\lib\site-packages\django\db\backends\utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "doctor_patient" does not exist
Я пытался сбросить все свои таблицы и снова запускаю миграцию, но безрезультатно.
PS Имя моего Django приложения - «доктор», и я использую PostgreSQL. Я запустил начальную миграцию с именем пользователя в качестве CharField, а затем решил использовать модель User в качестве OneToOneField.