def post(self, request, format=None): data = request.DATA existing_obj = None for obj in VOLTTenant.get_tenant_objects().all(): if (obj.c_tag == data.get("c_tag", None)) and (obj.s_tag == data.get("s_tag", None)) and (obj.service_specific_id == data.get("service_specific_id",None)): existing_obj = obj if existing_obj: serializer = VOLTTenantIdSerializer(existing_obj) headers = self.get_success_headers(serializer.data) return Response( serializer.data, status=status.HTTP_200_OK ) return super(VOLTTenantList, self).post(request, format)
def get_queryset(self): queryset = VOLTTenant.get_tenant_objects().select_related().all() service_specific_id = self.request.query_params.get('service_specific_id', None) if service_specific_id is not None: queryset = queryset.filter(service_specific_id=service_specific_id) c_tag = self.request.query_params.get('c_tag', None) if c_tag is not None: ids = [x.id for x in queryset if x.get_attribute("c_tag", None)==c_tag] queryset = queryset.filter(id__in=ids) s_tag = self.request.query_params.get('s_tag', None) if s_tag is not None: ids = [x.id for x in queryset if x.get_attribute("s_tag", None)==s_tag] queryset = queryset.filter(id__in=ids) return queryset
class VOLTTenantDetail(XOSRetrieveUpdateDestroyAPIView): serializer_class = VOLTTenantIdSerializer queryset = VOLTTenant.get_tenant_objects().select_related().all() method_kind = "detail" method_name = "volttenant"