Django管理面板显示错误链接到admin.py?

时间:2017-12-20 22:16:38

标签: django admin models

我的管理员面板中有一个看似无害但非常麻烦的错误:

它错误地产生了输出"教师" (双ss)我无法从我的代码中看出为什么会这样:

所以教师应用中的models.py是:

class Teachers(models.Model):
    #this is what an album is going to be made of
    email=models.CharField(max_length=250)
    school_name=models.CharField(max_length=500)
    password=models.CharField(max_length=100)
    class_name=models.CharField(max_length=100)

admin.py文件包含:

from django.contrib import admin
from main.models import Teachers 
# Register your models here.
admin.site.register(Teachers)

知道为什么在管理面板中生成这个?

MAIN 教师添加/更改

来自哪里的双ss以及如何摆脱它???

基于答案的更新

更新:有趣的是从下面的答案中注意到必须使用单数。但是,我确实更改了我的代码,现在出现以下错误:

错误

在admin.py中 来自main.models导入教师 导入错误:无法导入姓名'教师'

admin.py文件

from django.contrib import admin
from main.models import Teacher
# Register your models here.
admin.site.register(Teacher)

models.py

from django.db import models

# Create your models here.
class Teacher(models.Model):
    #this is what an album is going to be made of
    email=models.CharField(max_length=250)
    school_name=models.CharField(max_length=500)
    password=models.CharField(max_length=100)
    class_name=models.CharField(max_length=100)

                #You need this for meta data purposes. This allows you to reference the post (otherwise it will just print the object which doesn't mean much)
                #You need this for meta data purposes. This allows you to reference the post (otherwise it will just print the object which doesn't mean much)

......问题解决了。我没有在导入模型中调用该应用程序(main.models已经编写而不是teacher.models)。

感谢您提供以下答案

2 个答案:

答案 0 :(得分:2)

默认情况下,Django希望您的模型具有单数名称,即Teacher。默认情况下,它还会将s附加到您的模型名称,以便在管理员中显示它。这可以从inside your model itself配置。

答案 1 :(得分:1)

Django管理员自动添加“s”以使模型复数。建立模型Teacher可能是有意义的。否则,您可以告诉管理员您想要复数形式:

class Teachers(models.Model):
    class Meta:
       verbose_name_plural = "teachers"
    email=models.CharField(max_length=250)
    ...