Ошибка Djanog (DoesNotExist в / admin / запрос соответствия профиля не существует) - PullRequest
0 голосов
/ 09 июля 2020

Я работаю с чьим-то кодом. он отлично работает на моей локальной машине. Я легко могу создать учетную запись суперпользователя. но когда я пытаюсь войти в эту учетную запись, она показывает мне эти сообщения об ошибках. что мне делать?

raise self.model.DoesNotExist(

timelines.models.Profile.DoesNotExist: запрос соответствия профиля не существует. HTTP GET / admin / 500 [0.12, 127.0.0.1:52697 ]

1 Ответ

0 голосов
/ 09 июля 2020

Проблема в том, что вы создаете пользователя, а у этого пользователя еще нет профиля.

Один из вариантов будет делать что-то вроде этого:

users_without_profile = User.objects.filter(profile__isnull=True)
for user in users_without_profile:
    Profile.objects.create(user=user)

Другой вариант было бы использовать сигналы. Примерно так:

@receiver(post_save, sender = User)
def create_profile(sender, instance, created, **kwargs):
    if created: #if User was created
        Profile.objects.create(user = instance)

 @receiver(post_save, sender = User)
 def save_profile(sender, instance, **kwargs):
     instance.profile.save()

Мне пришлось сделать некоторые предположения, так как вы не предоставляете много информации.

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