【发布时间】:2021-05-03 17:58:02
【问题描述】:
我有两个模型:
class ExampleOne(models.Model):
# some fields
class ExampleTwo(models.Model):
example_one = models.ForeignKey(
"App.ExampleOne",
on_delete=models.CASCADE,
related_name="examples",
)
field_one = ...
field_two = ...
我为我的端点创建了这个视图:
class MyViewSet(viewsets.ViewSet):
def list(self, request):
queryset = ExampleOne.objects.all().values(
"id",
"examples__field_one",
"examples__field_two",
)
return Response({"data": queryset})
返回这个:
{
"data": [
{
"id": 1,
"examples__id": 1,
"examples__field_one": foo,
"examples__field_two": bar,
},
{
{
"id": 1,
"examples__id": 2,
"examples__field_one": foo,
"examples__field_two": bar,
},
{
"id": 2,
"examples__id": 3,
"examples__field_one": foo,
"examples__field_two": bar,
}
但我想要一种按第一个模型分组的方法。这是可能的?我想要这样的东西:
{
"data": [
{
"1": [
{
"examples__id": 1,
"examples__field_one": foo,
"examples__field_two": bar,
},
{
"examples__id": 2,
"examples__field_one": foo,
"examples__field_two": bar,
},
],
"2": [
{
"examples__id": 3,
"examples__field_one": foo,
"examples__field_two": bar,
},
]
}
}
有可能吗?我找到的关于分组的所有信息都涉及值(计数、总和......)。但我只想按一个字段(模型一个 id)分组。
【问题讨论】:
标签: django django-rest-framework django-orm