Django 管理屏幕不按名称显示实体

Django admin screen doesn't show entities by name

在 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') )

另外,为什么类别中的选项没有出现在“添加用户”屏幕上?

此应用[名为 'data'] 的 admin.py 具有:

from django.contrib import admin    
from data.models import User
admin.site.register(User)

在您的模型中包含一个 __str__ method,returns 您要显示的字符串:

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)