ко многим через through таблицу ProductsPackages
Как достать все продукты, у которых ласт_пакет в статусе Распакован?
Не пойму как квери написать, может аннотировать как-то можно?
Мне б как-то такой запрос составить, но хз как(
Типа такого б хотел:
Product.objects.filter(packages__last__status=UNPACKED)
Покажи все модели
есть кто подсказать может?)
Product.objects.filter(packages__delivery_status=your_satus) Так не работает?
Нужен набор только тех продуктов, у которых последний пакет в статусе распакован
Так это ж обычная выборка всех пакетов со статусом, а мне нужен именно последний, так как последний к конкретному продукту может быть в разных статусах
Ну раз так, хорошо, хорошо
Product.objects.filter(packages__delivery_status=your_satus).last(). Ты доволен?
Это не то что нужно
Сортировку добавить
Звучит как-то очень не очень Получается есть 2 пакета в нужном статусе предпоследний содержит А и Б ПОследний содержит Б и В Нужно вернуть только Б и В?
Package.objects.filter(status=your_status).order_by(“-id”).values_list(“products”, flat=True) Попробуй так, должно вытянуть все айдишники нужных продуктов
Вот, но теперь вместо values_list давай last
А ладно это вообще не то
а мне нужен именно последний
К тому-же тут не айдишники
Допустим у продуктов А и Б есть пакеты П1 и П2, оба пакета в статусе UNPACKED. Запрос Product.object.filter(package__delivery_status=UNPACKED) Вернёт все пакеты с анпекд, вроде гуд, НО, есть кейс, когда тот же самый продукт А возвращается снова в НОВОМ пакете П3, и теперь последний пакет для продукта А это П3 со статусом NOT_SENT, тобишь такого рода пакеты в выборку попадать не должны , у этого
Такого рода пакеты или товары?
Обсуждают сегодня