我的简化模型如下:
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”的参数。
先感谢您!