remade ApartamentGetManyViewSet
This commit is contained in:
parent
af28414bba
commit
a0e68beb5d
|
@ -79,6 +79,7 @@ class Photo(models.Model):
|
||||||
verbose_name = "Фотография"
|
verbose_name = "Фотография"
|
||||||
verbose_name_plural = "Фотографии"
|
verbose_name_plural = "Фотографии"
|
||||||
|
|
||||||
|
# TODO: Add auth
|
||||||
class User(models.Model):
|
class User(models.Model):
|
||||||
"""Тестовая модель данных для избранных и сравнения"""
|
"""Тестовая модель данных для избранных и сравнения"""
|
||||||
favorites_apartaments = models.CharField(max_length=100, verbose_name="Избранные квартиры")
|
favorites_apartaments = models.CharField(max_length=100, verbose_name="Избранные квартиры")
|
||||||
|
|
|
@ -22,26 +22,10 @@ class ApartamentViewSet(viewsets.ReadOnlyModelViewSet):
|
||||||
return ApartamentDetailSerializer
|
return ApartamentDetailSerializer
|
||||||
|
|
||||||
|
|
||||||
# class ApartamentGetManyViewSet(viewsets.ViewSet):
|
# TODO: доработать не рабочее
|
||||||
# def retrieve(self, request):
|
class ApartamentGetManyViewSet(viewsets.ModelViewSet):
|
||||||
# user_id = request.query_params.get("user_id", None) # получение id пользователя
|
|
||||||
# apartaments = []
|
|
||||||
# apartaments_id = User.objects.get(pk=user_id).apartaments_for_comparison.split(',') # получение id квартир
|
|
||||||
# for i in apartaments_id:
|
|
||||||
# apartaments.append(ApartamentDetailSerializer(Apartament.objects.get(pk=i)).data)
|
|
||||||
|
|
||||||
# return Response({'results': apartaments})
|
|
||||||
# def list(self, request):
|
|
||||||
# pk = request.query_params.get("pk", None) # получение id пользователя
|
|
||||||
# apartaments = []
|
|
||||||
# apartaments_id = User.objects.get(pk=pk).apartaments_for_comparison.split(',') # получение id квартир
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: доработать
|
|
||||||
class ApartamentGetManyViewSet(viewsets.ReadOnlyModelViewSet):
|
|
||||||
"""Вывод отдельных квартир для сравнения"""
|
"""Вывод отдельных квартир для сравнения"""
|
||||||
def get_queryset(self):
|
def get_apartaments_id(self):
|
||||||
pk = self.request.query_params.get("pk", None) # получение id пользователя
|
pk = self.request.query_params.get("pk", None) # получение id пользователя
|
||||||
queryset = []
|
queryset = []
|
||||||
|
|
||||||
|
@ -50,33 +34,12 @@ class ApartamentGetManyViewSet(viewsets.ReadOnlyModelViewSet):
|
||||||
elif self.action == "list": # если для страницы избранного
|
elif self.action == "list": # если для страницы избранного
|
||||||
apartaments_id = User.objects.get(pk=pk).favorites_apartaments.split(',') # получение id квартир
|
apartaments_id = User.objects.get(pk=pk).favorites_apartaments.split(',') # получение id квартир
|
||||||
|
|
||||||
|
return apartaments_id
|
||||||
|
|
||||||
|
def retrieve(self, request, *args, **kwargs):
|
||||||
|
apartaments_id = self.get_apartaments_id
|
||||||
|
apartaments = []
|
||||||
for i in apartaments_id:
|
for i in apartaments_id:
|
||||||
queryset.append(Apartament.objects.get(pk=i))
|
apartaments.append(ApartamentDetailSerializer(Apartament.objects.get(pk=i)).data)
|
||||||
|
return Response({'results': apartaments})
|
||||||
|
|
||||||
return queryset
|
|
||||||
|
|
||||||
serializer_class = ApartamentDetailSerializer
|
|
||||||
|
|
||||||
# def retrieve(self, request, *args, **kwargs):
|
|
||||||
# pk = request.query_params.get("pk", None) # получение id пользователя
|
|
||||||
# apartaments = []
|
|
||||||
# print(f"pk: {pk}")
|
|
||||||
|
|
||||||
# if request.query_params.get("page") == "comparison": # если для страницы сравнения
|
|
||||||
# apartaments_id = User.objects.get(pk=pk).apartaments_for_comparison.split(',') # получение id квартир
|
|
||||||
# elif request.query_params.get("page") == "favorites": # если для страницы избранного
|
|
||||||
# apartaments_id = User.objects.get(pk=pk).favorites_apartaments.split(',') # получение id квартир
|
|
||||||
|
|
||||||
# for i in apartaments_id:
|
|
||||||
# apartaments.append(ApartamentDetailSerializer(Apartament.objects.get(pk=i)).data)
|
|
||||||
|
|
||||||
# return Response({"results": apartaments})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# def retrieve(self, request, *args, **kwargs):
|
|
||||||
# apartaments_id = request.COOKIES["apartament_comparison_id"].split(',') # получение куки пример (123,453)
|
|
||||||
# apartaments = []
|
|
||||||
# for i in apartaments_id:
|
|
||||||
# apartaments.append(ApartamentDetailSerializer(Apartament.objects.get(pk=i)).data)
|
|
||||||
# return Response({"results": apartaments})
|
|
Loading…
Reference in New Issue