Seite 1 von 1

[django] Model __unicode__ und ForeignKey...

Verfasst: Mittwoch 30. Januar 2008, 18:02
von jens
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...

Verfasst: Mittwoch 30. Januar 2008, 19:57
von apollo13
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()

Verfasst: Sonntag 3. Februar 2008, 09:41
von sma
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

Verfasst: Sonntag 3. Februar 2008, 19:03
von apollo13
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)

Verfasst: Mittwoch 6. Februar 2008, 10:22
von jens
@apollo13: Jup, das sieht am saubersten aus, danke!