【问题标题】:Django __unicode__ extended Auth_User modelDjango __unicode__ 扩展 Auth_User 模型
【发布时间】:2013-04-10 05:29:40
【问题描述】:

我正在扩展 auth.models.User,但在实施 __unicode__ 方法时遇到了麻烦。

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

class Artist(models.Model):
    user = models.OneToOneField(User)
    city = models.CharField(max_length=30)
    bio = models.CharField(max_length=500)

现在我要如何访问 user 字段,因为我想返回 Django Admin 的名称。

【问题讨论】:

    标签: django django-models django-admin django-users


    【解决方案1】:
    class Artist(models.Model):
        # fields
    
        def __unicode__(self):
            return "{first_name} {last_name}".format(
                **dict(
                    first_name=self.user.first_name,
                    last_name=self.user.last_name
                )
            )
    

    虽然User 已经有了连接名称字段的功能,所以这也可以:

    def __unicode__(self):
        return "{0}".format(self.user.get_full_name())
    

    甚至

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

    【讨论】:

      猜你喜欢
      • 2020-11-29
      • 2011-08-25
      • 1970-01-01
      • 2016-10-12
      • 2011-02-28
      • 2013-12-06
      • 2018-01-21
      • 1970-01-01
      相关资源
      最近更新 更多