Вот мои упрощенные модели:
class Function(models.Model):
name = models.CharField(max_length=20)
params = models.ManyToManyField("Param")
class Param(models.Model):
name = models.CharField(max_length=20)
value = models.CharField(max_length=20)
Итак, каждый функциональный объект имеет набор параметров, например:
f = Function(name="my_function")
f.save()
param1 = Param(name="height", value="100")
param1.save()
param2 = Param(name="width", value="200")
param2.save()
f.params.add(param1)
f.params.add(param2)
Проблема в том, что я не могу понять, как выбрать функцию, используя фильтр по имени функции, имени параметра и значению параметра.
Для вышеуказанной функции, выбор должен быть:
Получить функцию с именем «my_function», которая содержит параметр с именем «height» и значением «100» И параметр с именем «width» и значением «200».
Заранее спасибо!