在我的模型中。py,有两种模型,AvailableArea
有一个外域,请参阅AddressRegion
:
class AddressRegion(models.Model):
name = models.CharField(max_length=8)
def __str__(self):
return self.name
def __unicode__(self):
return self.name
class AvailableArea(models.Model):
name = models.CharField(max_length=8)
addressregion = models.ForeignKey(AddressRegion, default=1, related_name='availableareas', on_delete=models.CASCADE)
def __str__(self):
return self.name
def __unicode__(self):
return self.name
在序列化程序中。py,我序列化所有字段:
class AvailableAreaSerializer(ModelSerializer):
"""
region
"""
class Meta:
model = AvailableArea
fields = "__all__"
在views.py中:
class AddressRegionListAPIView(ListAPIView):
serializer_class = AddressRegionSerializer
permission_classes = []
queryset = AddressRegion.objects.all()
其余框架数据如下:
[
{
"id": 13,
"name": "st-01",
"addressregion": 3
},
{
"id": 14,
"name": "tg-02",
"addressregion": 4
},
{
"id": 15,
"name": "sx-01",
"addressregion": 3
}
]
我希望addressregion
不显示addressregion的id
,而是显示addressregion的m2n4o1p。
3条答案
按热度按时间2vuwiymt1#
您可以执行以下操作:
epfja78i2#
只需在序列化程序中添加以下代码:
应该如下所示
y1aodyip3#
序列化程序应该如下所示:
视图中的
queryset
应为:select_related
将通过连接这两个表来获取结果。欲了解更多信息,请阅读此