UserProfile db показывает (нет) в django - PullRequest
0 голосов
/ 10 июня 2018

Я имел дело с аутентификацией пользователя в django и создал модель UserProfile с внешним ключом для встроенной модели пользователя.Затем я создал явно определенную модель User и затем удалил ее, чтобы восстановить исходный код.

Но теперь в моей базе данных UserProfile, доступной со страницы администратора, отображается (Нет) для всех профилей, созданных ранее.

И когда я нажимаю на него, появляется сообщение об ошибке.

Это код:

forms.py и models.py

from django import forms
from django.contrib.auth.models import User
from cms.models import UserProfile

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput)

class Meta:
    model = User
    fields = ('username', 'email', 'password')

class UserProfileForm(forms.ModelForm):

class Meta:
    model = UserProfile
    fields = ('designation',)



from django.db import models
from django.contrib.auth.models import User

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    designation = models.CharField(max_length=128,blank=True)

def __unicode__(self):
    return self.user.username

Как удалить это (Нет)?

1 Ответ

0 голосов
/ 10 июня 2018

Как я уже говорил в комментариях, это потому, что ваш __unicode__() встроенный метод печатает этого пользователя

Попробуйте изменить эту часть кода на:

def __unicode__(self):
     <b>try:</b>
         return self.user.username
     except:
         <b>return "UserProfile has No User instance"</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...