2016-09-01 3 views
1

mein Django-Admin-Panel zeigt object anstelle von self.name des Objekts.Django Admin zeigt das Objekt - arbeitet nicht mit __unicode__ ODER __str__

Ich ging durch mehrere ähnliche Fragen hier noch konnte nicht scheinen, dieses Problem zu lösen. __unicode__ und __str__ tragen die gleichen Ergebnisse, sowohl für Bücher als auch für Autoren. Ich habe diese Zeilen geändert und bei jeder Änderung neue Autoren/Bücher hinzugefügt, aber keine Änderung.

MODELS.PY

from django.db import models 
from django.contrib.auth.models import User 


# Create your models here. 

class Author(models.Model): 
    name = models.CharField(max_length=100) 


def __str__(self): 
    return self.name 


class Book(models.Model): 
    auto_increment_id = models.AutoField(primary_key=True) 
    name = models.CharField('Book name', max_length=100) 
    author = models.ForeignKey(Author, blank=False, null=False) 
    contents = models.TextField('Contents', blank=False, null=False) 


def __unicode__(self): 
    return self.name 

verwendete ich sowohl Unicode & str austauschbar, das gleiche Resultat.

Hier sind die Screenshots des Admin-Panels nach Menü/Aktion.

ersten Bildschirm

1st screen

Autor Liste

Author List

Einzel Autor

Single Author

+0

Python definiert den Körper einer Klasse/Funktion durch Einrückung, es ist nicht nur für die Lesbarkeit von Code. –

Antwort

3

Ihr Einzug ist falsch. Sie müssen den Code einrücken, um ihn zu einer Methode Ihres Modells zu machen. Es sollte sein:

class Author(models.Model): 
    name = models.CharField(max_length=100) 

    def __str__(self): 
     return self.name 

Wenn Sie Python 3 verwenden, __str__ verwenden. Wenn Sie Python 2 verwenden, verwenden Sie __unicode__, oder schmücken Sie Ihre Klasse mit dem python_2_unicode_compatible Decorator. Stellen Sie nach dem Ändern des Codes sicher, dass Sie den Server neu starten, damit die Codeänderungen wirksam werden.

+0

Mein Gott, du hast so viel geholfen, diese Gedanken werden mein Ende sein, ich MISS PHP schon. – clusterBuddy

Verwandte Themen