2017-01-15 7 views
1

私は初心者であり、私はドキュメントを通して自分の道を見つけることができません、この愚かな質問のために私を失礼です。djangoでテーブルを結合する方法

私は2つのモデルがあります:

[ 
    { 
     "name": "John", 
     "family": "Doe" 
     "school": { 
      "name": "J.F.K", 
      "rate": 1 
     } 
    } 
    ... 
] 

私はdjango ORMでこれを行うことができます方法:私はその中の学校のすべてのデータを含む学生のリストを持ちたい

class Student (models.Model): 
     name = models.CharField(max_length=40) 
     family = models.CharField(max_length=40) 
     school = models.ForeignKey(School) 

    class School (models.Model): 
     name = models.CharField(max_length=40) 
     rate = models.IntegerField(default=-1) 

を?

答えて

3

この質問は、Django ormや、DRFシリアライザとは関係がありません。よく書かれています。

完全な説明については、特にserialiser relationsを参照してください。特に、ネストされたシリアライザのセクションの途中に表示されます。

3

あなたは簡単に適応することができますジャンゴ休息Frameworkのdocumentation on nested relationshipsニーズに:

from rest_framework import serializers 
from my_models import School, Student 

class SchoolSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = School 
     fields = ('name', 'rate') 


class StudentSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = Student 
     fields = ('name', 'family', 'school') 

    school = SchoolSerializer(read_only=True) 
関連する問題