Django 管理屏幕不按名称显示实体
Posted
技术标签:
【中文标题】Django 管理屏幕不按名称显示实体【英文标题】:Django admin screen doesn't show entities by name 【发布时间】:2015-06-15 03:12:11 【问题描述】:在 Django 中,我在模型中创建了一个名为 User 的实体,当我让它在管理页面中可见时,它仅显示为用户对象而不是 id 或名称,我该如何更改?
如何将其更改为直观的东西?喜欢用户的 ID 或名称?
models.py 显示:
class User(models.Model):
user_id = models.CharField(primary_key=True, max_length=200)
name = models.CharField(max_length=200)
phone_number = models.CharField(max_length=200)
user_password = models.CharField(max_length=20)
email = models.CharField(max_length=200)
category = ( ('A','First AC'), ('B','Second AC'), ('C','Third AC'), ('D','Sleeper') )
另外,为什么类别中的选项没有出现在添加用户屏幕上?
此应用[名为“数据”] 的 admin.py 有:
from django.contrib import admin
from data.models import User
admin.site.register(User)
【问题讨论】:
【参考方案1】:在您的模型中包含一个__str__
method,它会返回您要显示的字符串:
class User(models.Model):
user_id = models.CharField(primary_key=True, max_length=200)
name = models.CharField(max_length=200)
phone_number = models.CharField(max_length=200)
user_password = models.CharField(max_length=20)
email = models.CharField(max_length=200)
category = ( ('A','First AC'), ('B','Second AC'), ('C','Third AC'), ('D','Sleeper') )
def __str__(self):
return ''.format(self.user_id)
【讨论】:
对于 Python 3? docs.djangoproject.com/en/1.8/ref/models/instances/…以上是关于Django 管理屏幕不按名称显示实体的主要内容,如果未能解决你的问题,请参考以下文章
Django 管理多个APP且在后台显示 自定义APP的名称