UserProfile db在django中显示(None)

时间:2018-06-10 15:39:42

标签: django forms

我正在处理django中的用户身份验证,并使用用户内置模型的外键创建了UserProfile模型。然后我创建了明确定义的用户模型,然后将其删除以恢复原始代码。

但现在在我的UserProfile数据库中,从admin页面访问的数据显示(之前)创建的所有配置文件。

当我点击它时会显示错误。

这是代码:

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 :(得分:0)

正如我在评论中所说,这是因为您的__unicode__()内置方法会打印此用户

尝试将此部分代码更改为:

def __unicode__(self):
     try:
         return self.user.username
     except:
         return "UserProfile has No User instance"