2016-06-02 5 views
0

J'utilise django.core.serializers pour sérialiser mon Queryset et le renvoyer ensuite en JSON.Django: Limiter le nombre d'objets ManyToMany retournés

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) 

Disons que MyModel a MyModel.data, qui est un ManyToManyField qui pourrait avoir des milliers de relations. Je voudrais seulement obtenir les derniers objets X de MyModel.data dans ce cas.

Comment est-ce que je ferais ceci?

Répondre

1

Vous pouvez obtenir tous les objets et utiliser [:] pour couper ce que vous ne voulez pas. C'est ce que tu veux dire?

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