Мы хотим предоставить API для нашего проекта django, поэтому мы используем drf (django rest framework). мы используем ModelSerializer, который предоставляет ярлык, позволяющий автоматически создавать класс Serializer с полями, соответствующими полям модели. Наша проблема в том, что он работает очень медленно. Другими словами, процесс сериализации занимает около 40 секунд до получения ответа.
Как мы можем уменьшить эту задержку?
VIEW
class MyObjViewSet(viewsets.ModelViewSet):
pagination_class = LargeResultsSetPagination
def get_queryset(self):
queryset = MyObj.objects.all().order_by('time')
return queryset
serializer_class = MyObjSerializer
Моя модель объекта
class MyObj(models.Model):
id = models.BigIntegerField(primary_key=True)
time = models.DateTimeField()
type = models.CharField(max_length=5)
user = models.ForeignKey('User', related_name='myobj')
Пользовательская модель MyObj
class User(models.Model):
id = models.IntegerField(primary_key=True)
username = models.CharField(max_length=80)
мой сериализатор Obj
class MyObjSerializer(serializers.ModelSerializer):
class Meta:
model = MyObj
fields = ('id', 'type', 'time', 'user')
Моя проблема в том, что когда я хочу получить список своих объектов, это занимает около 40 секунд!