我正在创建一个应用程序,其中食物有几个组成部分,每个组成部分都有特定的价值。我希望能够过滤食物中特定成分的价值。在
以下是我的模型:
class Food(models.Model):
id = models.AutoField(primary_key=True, db_column="id")
name = models.CharField(max_length=150)
product_type = models.CharField(max_length=150)
class Component(models.Model):
id = models.AutoField(primary_key=True, db_column="id")
name = models.CharField(max_length=150)
value = models.FloatField()
food = models.ForeignKey(Food, related_name='food_components', related_query_name='food_components')
然后定义过滤器集和视图
^{pr2}$我希望能够使用相关模型中的多个字段(结合两个参数)过滤视图集。像http://whatever/foods/components__name=X&components__value=1这样的东西可以得到所有元素X值为1的食物。我正在使用django rest框架过滤器(https://github.com/philipn/django-rest-framework-filters)
从我看来,因为所有的食物都有所有的元素,所以组分的名字是不相关的,我会得到所有含有值为1的成分的食物。如何将两者结合起来?在
提前谢谢!在
您需要创建一个新的过滤器来处理与给定的
Component
相关的单个Food
对象上的name
,val
对:在
^{pr2}$FoodFilter
中实例化此项:然后,像这样使用它:
相关问题 更多 >
编程相关推荐