Django:限制返回的ManyToMany对象的数量

时间:2016-06-02 17:23:25

标签: django serialization manytomanyfield

我使用django.core.serializers序列化我的Queryset,然后稍后将其作为JSON返回。

from django.core import serializers
from .models import MyModel

def a_view(request):
    objects = MyModel.objects.all()
    serializers.serialize('json', objects, indent=2, use_natural_foreign_keys=True, use_natural_primary_keys=True)

假设MyModel有MyModel.data,这是ManyToManyField,可能有数千个关系。在这种情况下,我想只获取MyModel.data的最新X对象。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以获取所有对象并使用[:]来切断您不想要的内容。这是你的意思吗?

MyModel.data.order_by('-id')[5:]