SB
Size: a a a
SB
AG
SB
AG
RT
def get_queryset(self):
queryset = self.queryset
type_1 = queryset.filter(type=type_1).first()
type_2 = queryset.filter(type=type_2).first()
q = []
if type_1:
q.append(type_1)
if type_2:
q.append(type_2)
return q
AG
def get_queryset(self):
queryset = self.queryset
type_1 = queryset.filter(type=type_1).first()
type_2 = queryset.filter(type=type_2).first()
q = []
if type_1:
q.append(type_1)
if type_2:
q.append(type_2)
return q
if лучше сравнивать так if my_type is not None:q.append(type_1) if type_1 is not None else NoneRT
if лучше сравнивать так if my_type is not None:q.append(type_1) if type_1 is not None else NoneAG
my_types = (
queryset
.annotate(
type_one=Case(
When(type=type_1, then=F("type")),
output_field=models.CharField()
),
type_two=Case(
When(type=type_2, then=F("type")),
output_field=models.CharField()
),
)
.filter(Q(type_one=type_1) | Q(type_two=type_2))
.order_by("-type_one", "-type_two")
.distinct("type_one", "type_two")
)
AG
RT
my_types = (
queryset
.annotate(
type_one=Case(
When(type=type_1, then=F("type")),
output_field=models.CharField()
),
type_two=Case(
When(type=type_2, then=F("type")),
output_field=models.CharField()
),
)
.filter(Q(type_one=type_1) | Q(type_two=type_2))
.order_by("-type_one", "-type_two")
.distinct("type_one", "type_two")
)
m
AG
m
D
AG
m
М
A
A
AT