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