We want to provide an api for our django project,so we use drf (django rest framework). we use ModelSerializer which provides a shortcut that lets you automatically create a Serializer class with fields that correspond to the Model fields. Our problem is it runs very slowly.In other word,process of serialization takes about 40 second until retrieving the response.
How we can reduce this delay?
VIEW
class MyObjViewSet(viewsets.ModelViewSet):
pagination_class = LargeResultsSetPagination
def get_queryset(self):
queryset = MyObj.objects.all().order_by('time')
return queryset
serializer_class = MyObjSerializer
My Obj Model
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 User Model
class User(models.Model):
id = models.IntegerField(primary_key=True)
username = models.CharField(max_length=80)
my Obj serializer
class MyObjSerializer(serializers.ModelSerializer):
class Meta:
model = MyObj
fields = ('id', 'type', 'time', 'user')
My problem is when i want to retrieve list of my objs, its take about to 40 second!