2017-11-03 1 views
0

Ich habe diese Modelledjango forms - ändern Sie den Wert der Felder

class Student(Model): 
    student_no = CharField(max_length=10) 
    name = CharField(max_length = 50) 

    def __str__(self): 
     return self.name 

class ClassList(Model): 
    students = ForeignKey(Student) 

In Formen:

class ClassListForm(ModelForm): 

    class Meta: 

     fields = ['students'] 

Als ich dies machen, die Vorlage zeigt ein Auswahlfeld mit den Schülern in ihm. Die Schüler werden jedoch basierend auf der Funktion def __str__() angezeigt. Wie beurteilen Sie die Werte des students Feldes ändern, so dass sie ihre student_nos ohne Änderung der def __str__() Funktion

Antwort

0

angezeigt werden könnten Sie Objekte hinzufügen:

class Student(Model): 
    student_no = CharField(max_length=10) 
    name = CharField(max_length = 50) 

    def __str__(self): 
     return self.name 

    def _get_student_no(self): 
     return self.student_no 

    get_student_no = property(_get_student_no)