2016-05-13 6 views
-1

Das Kapitel zu diesem Thema enthält kein Beispiel dafür. Ich hoffe, dass jemand es basierend auf dem, was ich zur Verfügung gestellt habe, ableiten kann oder vielleicht Glück hat und jemand das Buch gelesen hat, der helfen kann.Übung aus dem Buch Python CRASH COURSE: Übung 18-2

Hier ist der Auszug: "Übung 18-2. Kurze Einträge: Die Methode __str__() im Entry-Modell hängt derzeit eine Ellipse an jede Instanz von Entry an, wenn Django sie in der Admin-Site oder der Shell anzeigt if Anweisung an die __str__() Methode, die nur dann eine Ellipse hinzufügt, wenn der Eintrag mehr als 50 Zeichen lang ist Verwenden Sie die Verwaltungswebsite, um einen Eintrag mit weniger als 50 Zeichen hinzuzufügen, und stellen Sie sicher, dass er keine Ellipsen aufweist. "

Der Code-Block ist an der Unterseite:

from django.db import models 

class Entry(models.Model): 
    """Something specific learned about a topic.""" 
    topic = models.ForeignKey(Topic) 
    text = models.TextField() 
    date_added = models.DateTimeField(auto_now_add=True) 

    class Meta: 
     verbose_name_plural = 'entries' 

    def __str__(self): 
     """Return a string representation of the model.""" 
     return self.text[:50] + "..." 

Antwort

0

Ändern der Definition von __str__() ist einfach:

from django.db import models 

class Entry(models.Model): 
    """Something specific learned about a topic.""" 
    topic = models.ForeignKey(Topic) 
    text = models.TextField() 
    date_added = models.DateTimeField(auto_now_add=True) 

    class Meta: 
     verbose_name_plural = 'entries' 

    def __str__(self): 
     """Return a string representation of the model.""" 
     return self.text[:50] + ("..." if len(self.text) > 50 else "") 
+0

Es hat funktioniert! Vielen Dank. – fasilent