【发布时间】:2015-11-07 14:47:53
【问题描述】:
我正在使用 Django Rest 框架来构建服务器部分。我有以下型号:
class B:
name_b = models.CharField(max_length=200)
class D:
name_d = models.CharField(max_length=200)
class C:
B_fk = models.ForeignKey(B, related_name='B_id')
D_fk = models.ForeignKey(D, related_name='D_id')
这是我使用嵌套关系 (here) 的序列化程序:
class C_Serializer(serializers.ModelSerializer):
class Meta:
model = C
fields = ('D_id',)
class B_Serializer(serializers.ModelSerializer):
B_fk = C_Serializer(many=True)
class Meta:
model = B
fields = ('name_b','B_id',)
我的看法:
class MyView(generics.ListCreateAPIView):
permission_classes = (permissions.IsAuthenticated,)
queryset = B.objects.all()
serializer_class = B_Serializer
我最后有这样的 JSON:
[{"name_b": "NAME B", "B_id": [{"D_id": 130},{"D_id": 135},{"D_id": 145},{"D_id": 154}]}]
但我想拥有
[{"name_b": "NAME B", "B_id":[130, 135, 145, 154]}]
有可能吗?你能帮帮我吗?
提前谢谢你!
【问题讨论】:
-
当您想要更简单的
PrimaryKeyRelatedField时,为什么要使用嵌套表示? -
@Ivan,谢谢你的回答。但在这种情况下,我将获得 C 实体的 ID。这意味着数组中的 C.id 。但我想要 C.D_fk(或 C.D_id)。
标签: arrays json python-3.x django-rest-framework django-serializer