管理界面中的 Django auth.User:强制转换为 Unicode:需要字符串或缓冲区,找到用户

Posted

技术标签:

【中文标题】管理界面中的 Django auth.User:强制转换为 Unicode:需要字符串或缓冲区,找到用户【英文标题】:Django auth.User in Admininterface: coercing to Unicode: need string or buffer, User found 【发布时间】:2011-11-15 23:45:51 【问题描述】:

我对 django 还是很陌生。我尝试使用 auth.User 对象作为外键。

我的模特:

from django.contrib.auth.models import User

(...)

class Entry(models.Model):
    (...)
    user = models.ForeignKey(User)
    date = models.DateTimeField()
    def __unicode__(self):
        return self.user

在管理界面中使用用户创建新条目时,我得到:"coercing to Unicode: need string or buffer, User found"

异常类型:TypeError

异常值:强制转换为 Unicode:需要字符串或缓冲区,用户 找到了

例外 位置:/Library/Python/2.7/site-packages/django/utils/encoding.py 在 force_unicode 中,第 71 行

我错过了什么?

【问题讨论】:

【参考方案1】:

这应该可以工作并解释自己

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

【讨论】:

正是我需要的。 +1

以上是关于管理界面中的 Django auth.User:强制转换为 Unicode:需要字符串或缓冲区,找到用户的主要内容,如果未能解决你的问题,请参考以下文章

Django-组件--用户认证Auth(auth_user增加字段)

Django:为啥要为 UserProfile 创建 OneToOne 而不是子类化 auth.User?

django-用户热证auth --User对象

Django 无法使用 rest-auth/user/ 获取当前用户

Django(博客系统):重写了auth.User后使用createsupperuser出错解决办法

授予“用户更改”权限时,如何防止 Django 管理员中的权限升级?