我正在处理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
如何删除(无)?
答案 0 :(得分:0)
正如我在评论中所说,这是因为您的__unicode__()
内置方法会打印此用户
尝试将此部分代码更改为:
def __unicode__(self):
try:
return self.user.username
except:
return "UserProfile has No User instance"