【发布时间】:2021-12-16 10:43:45
【问题描述】:
我在 API 中工作,我想按 id DESC 排序,但我也想按 client_id 分组,所以我可以将来自同一客户的所有问题都排序,嵌套结果:
这是我的代码:
models.py
class QuestionsModel(models.Model):
id = models.IntegerField()
publication_id = models.IntegerField(blank=True, null=True)
publication_title = models.CharField(max_length=255)
publication_link = models.CharField(max_length=255)
question = models.CharField(max_length=255)
member_id = models.IntegerField()
client_id = models.IntegerField()
class Meta:
managed = False
db_table = 'questions'
序列化器.py
class QuestionsSerializer(serializers.ModelSerializer):
class Meta:
model = QuestionsModel
fields = '__all__'
views.py
class QuestionsAPIView(generics.ListAPIView):
def get_queryset(self):
queryset = ''
member_id = self.request.query_params.get('member_id')
if member_id is not None and member_id.isnumeric():
queryset = QuestionsModel.objects.filter(member_id=member_id).order_by('-id')
return queryset
结果:
{
"id": 848484,
"publication_id": 4444,
"publication_title": "Title publication",
"publication_link": "Link",
"question": "This is a test question",
"member_id": 123456,
"client_id": 500
}
我想要什么:按 client_id 分组问题,所以希望输出 JSON 可能是:
{
"client_id": 500,
"question" : [
"id": 848484,
"publication_id": 4444,
"publication_title": "Title publication",
"publication_link": "Link",
"question": "This is a test question",
"member_id": 123456,
"client_id": 500
],
[
"id": 848485,
"publication_id": 4445,
"publication_title": "Title publication",
"publication_link": "Link",
"question": "This is a test question",
"member_id": 123456,
"client_id": 500
]
}
注意:我使用 SQL Server 作为数据库引擎。
【问题讨论】:
标签: python sql django django-rest-framework nested