2017-05-05 2 views
1
class student(models.Model): 
     first_name = models.CharField(max_length=30) 
     last_name = models.CharField(max_length=30) 

    class details(models.Model): 
     first_name = models.ForeignKey(student,models.DO_NOTHING, db_column='first name', blank=True, null=True) 
     last_name = models.ForeignKey(student,models.DO_NOTHING, db_column='second name', blank=True, null=True) 

Hier sind Vorname und Nachname Drop-downs.With dieses Stück Code Drop-Downs zeigt StudentObjects nicht first_name und Nachname Werte.Wie werden zwei Werte für zwei Fremdschlüssel im selben Modell separat zurückgegeben?

wir verwenden

def __str__(self): 
     return self.first_name 

, aber nicht wissen, wie Nachnamen zu senden.

bitte helfen Sie mir aus.

+0

nicht klar, was Sie erreichen möchten. Können Sie das wahre Problem erklären (nicht das, was Sie denken, könnte funktionieren). Außerdem: Ist Ihnen bekannt, dass ein ForeignKey verwendet wird, um Objekte (und nicht Felder) zu verknüpfen? Ich meine ... können Details mit zwei verschiedenen Studenten in Verbindung gebracht werden? Was ist ein "Detail" -Objekt? – MariusSiuram

+0

aktualisieren Sie die Frage. –

+0

'Rückkehr"% s% s "% (self.first_name, self.last_name)'? –

Antwort

0

Ich mag Ihre Datenstruktur nicht und ich bin verdächtig, dass Sie es nicht wirklich so machen wollen.

Nehmen wir folgende annehmen:

class student(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 

    def __str__(self): 
     return "%s %s" % (self.first_name, self.last_name) 


class details(models.Model): 
    student = models.ForeignKey(student, models.CASCADE) 

, die verwendet wird student Objekte zu haben (die Schüler identifiziert durch seine first_name und last_name). Und jede details Objekte können auf eine einzige student bezogen werden (wenn Sie die Beziehung ändern möchten, tun Sie dies).

Die Beziehung ist zwischen student und details. Ich bin mir nicht sicher, ob Sie das erreichen wollen, aber vielleicht macht es Sinn?

Verwandte Themen