2017-12-20 9 views
0

Ich habe einen scheinbar harmlosen, aber sehr niggling Fehler in meinem Admin-Panel:Django Admin Panel Anzeige Fehler mit admin.py verbunden?

Es wird fälschlicherweise den Ausgang „Teacherss“ (Doppel ss) und ich kann nicht sehen, warum dies von meinem Code auftritt:

So ist die models.py in der Lehrer-App ist:

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) 

die admin.py Datei hat dieses:

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

Eine Idee, warum dies im Admin-Panel generiert wird?

MAIN Teacherss ändern/hinzufügen

Wo ist die Doppel ss kommen und wie kann ich es loswerden! ??

UPDATE AUF ANTWORTEN AUF BASIS

Update: Interessante unter dem von den Antworten zu beachten, Einzahl verwendet werden müssen. Ich habe jedoch meinen Code ändern und nun der folgende Fehler auftritt:

Fehler

In admin.py von main.models importieren Lehrer Fehler Import: kann nicht Namen importieren 'Lehrer'

admin.py Datei

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) 

... Problem gelöst. Ich hatte die App nicht in den Importmodellen aufgerufen (main.models wurde anstelle von lehrer.models geschrieben).

Vielen Dank für die unten Antworten

Antwort

2

standardmäßig Django erwartet Ihr Modell einen Namen im Singular zu haben, das heißt, Teacher. Es fügt auch standardmäßig einen s zu Ihrem Modellnamen hinzu, um es im Admin anzuzeigen. Dies kann von inside your model itself konfiguriert werden.

1

Die automatisch Django Admin ein „s“ fügt das Modell Plural zu machen. Es könnte sinnvoll sein, stattdessen Ihr Modell Teacher zu erstellen. Andernfalls können Sie den Server-Betreiber sagen, was Sie den Plural mit sein wollen:

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