Мне нужна помощь для повышения производительности API.Ниже мой подход также я попытался сделать другую комбинацию полей с select_related или prefetch_related, но все же я получаю как 400sqls.
model.py
class VisVisits(models.Model):
visit_id = models.IntegerField(primary_key=True)
null=True)
class Meta:
managed = False
db_table = 'vis_visits'
def __str__(self):
return str(self.visit_id)
class VisVisitData(models.Model):
vdata_id = models.IntegerField(primary_key=True)
app_local_id = models.IntegerField(blank=True, null=True)
visit = models.ForeignKey('VisVisits', models.DO_NOTHING, blank=True, null=True, related_name='data')
class Meta:
managed = False
db_table = 'vis_visit_data'
def __str__(self):
return str(self.vdata_id)
Сериализатор
class VisVisitDataSerializer(serializers.ModelSerializer):
class Meta:
model = VisVisitData
field = '__all__'
class VisVisitsSerializer(serializers.ModelSerializer):
data = VisVisitDataSerializer(many=True)
class Meta:
model = VisVisits
fields = ('visit_id','data')
views.py
visit_data = VisVisits.objects.filter(is_valid=1,user_id=u).prefetch_related('school_program__school')
visit_data_serializer = VisVisitsSerializer(visit_data,context={'request':request},many=True)