Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型:从当前登录的用户返回用户名_Python_Django_Django Models_Django Admin - Fatal编程技术网

Python Django模型:从当前登录的用户返回用户名

Python Django模型:从当前登录的用户返回用户名,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我正在开发一个Django应用程序来承载媒体(特别是音频和图像)。我的模型中有单独的图像库和照片,并用外键链接它们(不确定是否正确,但仍在学习)。我需要的是Album类的\uuuuuuUnicode\uuuuu返回相册所有者的用户名 class Album(models.Model): artist = models.ForeignKey(User, unique=True, related_name='artpunk') def __unicode__(self):

我正在开发一个Django应用程序来承载媒体(特别是音频和图像)。我的模型中有单独的图像库和照片,并用
外键链接它们(不确定是否正确,但仍在学习)。我需要的是Album类的
\uuuuuuUnicode\uuuuu
返回相册所有者的用户名

class Album(models.Model):
    artist = models.ForeignKey(User, unique=True, related_name='artpunk')

    def __unicode__(self):
        return self.artist.username
我知道username属性存在,并通过插入
dir()
并检查控制台输出来确认它。问题是,当我进入管理面板的图像部分时,它只是简单地说明“无法识别的命令”。模型是否可以访问用户属性?还是我做错了什么

编辑:忘了提到,使用Python2.6和Django 1.0.2。如上所述,错误的确切文本是粗体的“unrecogned command”,我已经毫无疑问地运行了
syncdb
。但是,今天早上我重新运行了
syncdb
(没有输出),只是想再试一次,现在它似乎工作正常

可通过更改以下内容进行复制:

    def __unicode__(self):
        return self.artist.username
对这样的事情:

    def __unicode__(self):
        return self.artist.username+'\'s Gallery'

从模型访问用户(甚至作为外键)应该没有问题。我自己刚完成测试,似乎没有任何显著的差异

def __unicode__(self):
    return self.user.username
另一方面,您还应该能够返回self.artist,因为我相信
User.\uuuu unicode\uuu()
无论如何都会返回用户名

错误的具体细节是什么?您使用的是哪个版本的Django/Python?您是否对尚未反映在数据库中的模型进行了更改?有时我注意到,您只需要重新启动测试服务器就可以正常工作。特别是在管理方面

为了响应您的编辑,请尝试将用户名转换为字符串:

str(self.user.username)

您可以发布整个错误的确切文本吗?或者更好地使用unicode字符串,以便unicode方法实际返回unicodestring:-)返回self.artist.username+u'\'s Gallery'