Django rest framework 在查询集django中选择一对多关系表
我想在查询集中选择一对多表关系。我有两个模型Django rest framework 在查询集django中选择一对多关系表,django-rest-framework,one-to-many,django-rest-viewsets,Django Rest Framework,One To Many,Django Rest Viewsets,我想在查询集中选择一对多表关系。我有两个模型 class Post(models.Model): postid = models.AutoField(primary_key=True) class Meta: db_table = 'post' class Images(models.Model): postid = models.ForeignKey(Post,on_delete=models.CASCADE) image = models.
class Post(models.Model):
postid = models.AutoField(primary_key=True)
class Meta:
db_table = 'post'
class Images(models.Model):
postid = models.ForeignKey(Post,on_delete=models.CASCADE)
image = models.ImageField(upload_to=upload_image_to, blank=True)
在Postviewset
的list
方法中,我想选择类似=>
{
"postid": 1,
"images":[
image:"Image Result"
]
}
这里是Postviewset
=>
def list(self, request):
queryset = self.queryset
page = self.paginate_queryset(queryset)
for post in self.queryset:
img = Images.objects.all().filter(postid=post.postid)
serializer = PostSerializer(page, many=True)
return self.get_paginated_response(serializer.data)
如何将此img结果插入post?请查看文档。比如:
类后序列化程序(serializers.ModelSerializer):
images=serializers.StringRelatedField(many=True)
类元:
型号=员额
字段=['posted','images']
这将为您提供图像的字符串表示形式,但您可以查看文档中的其他关系字段,以自定义图像的JSON表示形式
这样做可能意味着您不需要覆盖视图集中的
list()
。谢谢您的回答,我通过使用嵌套关系解决了这个问题[