@dimash07

Как отсортировать QuerySet по значению ForeignKey?

Имеются две модели с товаром и ценами. У каждого товара несколько цен в зависимости от указанного магазина.

class Good(models.Model):
    title = models.CharField("Название", max_length=100)
    articul = models.CharField("Артикул", max_length=40, unique=True)

class GoodPrice(models.Model):
    good = models.ForeignKey(Good, related_name="prices", verbose_name="Товар", on_delete=models.CASCADE)
    shop = models.ForeignKey(Shop,  verbose_name="Магазин", on_delete=models.CASCADE,)
    price = models.FloatField("Цена", null=True, default=0)

Есть queryset со списком товаров. Требуется отсортировать их по цене выбранного магазина.
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Конкретно с Django ORM я не работал, но общая идея простая: сделай join списка товаров с ценами в магазине с дополнительным условием - id магазина совпадает с заданным.
Тогда получишь выборку только тех товаров, которые есть в заданном магазине, и их цен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы