[django] Model __unicode__ und ForeignKey...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Geht das so:

Code: Alles auswählen

class Person(models.Model):
    vorname = models.CharField()
    nachname = models.CharField()

...

    def __unicode__(self):
        return " ".join((self.vorname, self.nachname))

...

class Kunde(models.Model):
    kundennummer = models.IntegerField()
    person = models.ForeignKey(Person)
    firma = models.ForeignKey(Firma)

...

    def __unicode__(self):
        return " - ".join((self.firma.name, unicode(self.person)))
Auf die letzte Zeile kommt es mir an... Ist ein unicode() ok, um an den Rückgabewert von Person.__unicode__ zu gelangen???
Im django admin panel funktioniert es jedenfalls...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Japp ist absolut okay,
selbe Frage kam gestern im Irc auch auf, eine andere (nicht so schöne Möglichkeit) wäre noch:

Code: Alles auswählen

u"%s" % self.person 
hätte den gleichen effekt wie unicode()
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Ich fände verständlicher, auf `join` zu verzichten:

Code: Alles auswählen

def __unicode__(self):
    return "%s - %s" % (self.firma.name, self.person)
Stefan
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

sma hat geschrieben:Ich fände verständlicher, auf `join` zu verzichten:

Code: Alles auswählen

def __unicode__(self):
    return "%s - %s" % (self.firma.name, self.person)
Stefan
Dann aber bitte:

Code: Alles auswählen

def __unicode__(self):
    return u"%s - %s" % (self.firma.name, self.person)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

@apollo13: Jup, das sieht am saubersten aus, danke!

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten