编程语言
首页 > 编程语言> > python-Django管理屏幕未按名称显示实体

python-Django管理屏幕未按名称显示实体

作者:互联网

在Django中,我创建了一个名为“模型中的用户”的实体,当它在“管理”页面中可见时,它仅以用户对象的形式显示,而不是按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)

解决方法:

在模型中包括一个__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-x,django-admin,python,django,django-models
来源: https://codeday.me/bug/20191120/2044481.html