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))