продолжаю получать эту ошибку {отношение "profile_user" не существует} - PullRequest
1 голос
/ 19 апреля 2020

Я начинающий программист, работающий над собственным проектом на Django. Я пытаюсь заставить модель создавать себя каждый раз, когда создается пользователь. но я продолжаю получать эту ошибку {отношение "profile_user" не существует}. Я использую PostgreSQL в качестве базы данных. Кстати, эта ошибка возникает, когда я пытаюсь перенести данные

from django.db import models
from django.contrib.auth.models import AbstractUser
from django.db.models.signals import post_save

class User(AbstractUser):
    is_expert = models.BooleanField(default=False)
    is_student = models.BooleanField(default=False)







EDUCATION=(
    ('Collage','Collage'),
    ('Post_Graduate','Post_Graduate'),
    ('Masters','Masters'),
    ('PHD','PHD'),
)


class Expert(models.Model):
    expert = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    first_name = models.CharField(max_length=12, null=True, default='')
    last_name = models.CharField(max_length=20, null=True)
    discription = models.TextField(null=True)
    education = models.CharField(max_length=200, choices=EDUCATION,  null=True)
    field = models.CharField(max_length=200, null=True)
    company = models.CharField(max_length=50,null=True)
    position = models.CharField(max_length=20, null=True)
    experience = models.TextField(null=True)
    charge_per_hour = models.IntegerField(default="0")

    def __str__(self):
        return (f'{self.first_name} {self.last_name}')



def create_profile(sender,**kwargs ):
    if kwargs['created']:
        user_profile=Expert.objects.create(expert=kwargs['instance'])


post_save.connect(create_profile,sender=User)

Заранее благодарю за помощь

1 Ответ

0 голосов
/ 21 апреля 2020

Мне кажется, что мне нужно специально выполнить миграцию приложения самостоятельно.

python manage.py makemigrations profiles
python manage.py migrate profiles
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...