2011-07-03 7 views
0

私は2つのモデルがあり、私はモデルでforeignkeyを使用しています。djangoの他のモデルのプライマリキーの代わりにいくつかのフィールド名を表示する方法

class Student: 
    book   = models.ForeignKey(Book) 

私は最後の列にその後、生徒のリストを表示するとき、私は主キーEを参照して、G 2または3

しかし、私は、主キーのinstaedは、私は本の名前を見ることができなければならないことを望みます。 戻りself.name

+0

リスト?管理者には?テンプレートで? 'admin.py'かテンプレートを質問に追加してください。 – Udi

+0

管理者ではありませんが、 'list = model.objects.all()'を使用してフィールドをループするとき – user1

+0

'print student.book.the_field_you_want_to_print' – Udi

答えて

1

はget_fieldsを使用しないことですが、あなたはそれが使用する必要がある場合、あなたは何を行う可能性:

{% for field, value in student.get_fields %} 
    {% if field.name %} 
     {% field.name %} 
    {% else %} 
     {% field %} 
    {% endif %} 
{% endfor %} 
+0

賢い解決策でしたが、get_fieldsを使用しないでください。私はリストビューですべての列を表示する必要があるため、私は何を使うことができますか? – user1

0

おそらくあなたはBookモデルの__unicode__方法を定義する必要があります。私はそれをどのように行うことができます

+0

私のテンプレートは、フィールドにはstudent.get_fields%}の値があり、その部分は数値pkを示しています。私はフォームについて話していません – user1

+0

あなたは 'get_fields'以外のいくつかの方法が必要かもしれません。問題の詳細をご記入ください。 – dragoon

関連する問題