Сравнение и группировка с помощью Django ORM
У меня есть 8 предметов из двух разных моделей. Скажи, фрукты и цвет
Я хочу фильтровать и группировать фрукты по их полезным свойствам. Например, апельсины и виноград можно сгруппировать вместе, потому что они имеют схожие преимущества, т.е. "богаты витамином С"
Вот мой код:
models.py
class Fruit(models.Model):
name = models.CharField(max_length=40, blank=True, null=True)
colour = models.CharField(max_length=40, blank=True, null=True)
benefits = models.JSONField(default=dict)
class Benefit(models.Model):
health_benefit = models.CharField(max_length=240, blank=True, null=True)
Я попробовал следующее:
all_benefits = Benefit.objects.values_list('health_benefit')
Fruit.objects.filter(benefits__in=all_benefits)
Не уверен, что это правильный способ запроса. Заранее спасибо.