Django Admin仅显示单个模型字段且表名多后缀s问题求助
问题解决方案
1. Admin页面仅显示单个字段的问题
你的items模型代码里,price和name字段定义末尾多了逗号,导致这两个字段被解析成了元组对象而非Django的字段类型,所以Admin无法识别并展示它们。
修复后的模型代码:
from django.db import models class items(models.Model): price = models.IntegerField() name = models.TextField(max_length=100) category = models.CharField(max_length=100)
修改后执行数据库迁移命令:
python manage.py makemigrations python manage.py migrate
刷新Admin页面后,即可看到三个可填写字段。
2. 表名自动添加后缀s的问题
这是Django的默认行为:模型类名会自动转成复数形式作为表名。如果要自定义表名,有两种处理方式:
方式一:直接指定数据库表名
在模型类内添加Meta类,自定义实际存储的表名:
class items(models.Model): price = models.IntegerField() name = models.TextField(max_length=100) category = models.CharField(max_length=100) class Meta: db_table = 'items' # 设置自定义表名
方式二:修改Admin页面的复数显示(不改变数据库表名)
如果只是想让Admin后台的模型名称不带s,可以设置verbose_name_plural:
class items(models.Model): # 字段定义... class Meta: verbose_name_plural = 'items'
内容的提问来源于stack exchange,提问作者Alpesh Muneshwar
相关产品推荐
相关产品推荐

