2017-04-01 9 views
0

Djangoは比較的新しいですが、次のデータモデル用の完全なJSONドキュメントを返そうとしています。Djangoは主キーに従います。JSON

class Wheels(models.Model): 
    w_name = models.CharField(max_length=255) 
    w_weight = models.IntegerField(default=200) 
    w_size = models.CharField(max_length=200) 
    w_durability = models.IntegerField(default=45) 

    def __str__(self): 
    return self.w_name 

class Chassis(models.Model): 
    c_owner = models.CharField(max_length=255) 
    c_year = models.IntegerField(default=1900) 
    c_model = models.CharField(max_length=255) 
    c_wheels = models.ForeignKey(Wheels) 
    c_weight = models.IntegerField(default=20) 

    def __str__(self): 
     return self.c_model` 

今のコードは単に返す:

{ 
"id": 1, 
"c_owner": "Mike", 
"c_year": 1969, 
"c_model": "Chevy", 
"c_weight": 3500, 
"c_wheels": 1 
} 

しかし、その代わりに、私はそれが車輪のテーブルに

見解に従うしたいの車輪のための1の:

class ChassisList(ModelViewSet): 
    queryset = Chassis.objects.all() 
    serializer_class = ChassisSerializer 


class WheelsList(ModelViewSet): 
    queryset = Wheels.objects.all() 
    serializer_class = WheelSerializer 

をシリアライザ:

class WheelSerializer(serializers.ModelSerializer): 
    class Meta: 
    model = Wheels 
    fields = ('__all__') 

class ChassisSerializer(serializers.ModelSerializer): 
    class Meta: 
    model = Chassis 
    fields = ('__all__') 
+0

の可能性のある重複(http://stackoverflow.com/questions/14573102/how-do-i-include [どのように私は、Djangoの残りのフレームワークを使用して関連するモデルフィールドが含まれていますか?] -related-model-fields-using-django-rest-framework) – iklinac

答えて

0

シンプルなソリューション:

class ChassisSerializer(serializers.ModelSerializer): 
    class Meta: 
    model = Chassis 
    fields = ('__all__') 
    depth = 1 
+0

ありがとうございました!私はそれらの種類のソリューションが好きです:) – MikeM

関連する問題