Django queryset в список идентификаторов с целочисленными значениями

Мне нужно получить идентификаторы из нескольких запросов и добавить их в список.

products = Product.objects.filter(category="Apple").values_list("product_id", flat=True)

reviewed = Reviews.objects.filter(category="Apple").values_list("product_id", flat=True)

selected_ids = [10,20,30]

Тогда я попробовал

all_products = selected_ids + products + reviewed

Возникла ошибка, так как список не может быть добавлен в queryset.

Итак, я попытался,

all_product_ids = selected_ids + list(products) + list(reviewed)

Это работает, но all_products имеет смесь int и tuple значений [10, 20, 30, (2,), (2,), (1,)]

Мне нужно, чтобы они были [10, 20, 30, 2, 2, 1]

Вы можете использовать union и затем добавить их списком:

qset_ids = Product.objects.filter(category="Apple").values_list("product_id").union(Reviews.objects.filter(category="Apple").values_list("product_id"))

all_product_ids = selected_ids + list(qset_ids.values_list('product_id',flat=True))
Вернуться на верх