Django过滤器“ __包含”查找抛出“未定义”

我正在尝试获取数据库中名称为LIKE'%something%'的所有对象

在阅读文档并在线搜索后,我发现使用django必须使用__contains查找。

但是,当我尝试这样做时,控制台会向我抛出错误500 'NameError:名称'ingredient_name__contains'未定义'

我的模型如下:

  {
    path: 'buildings',component: BuildingsComponent,},{
    path: 'buildings/:buildingId',component: BuildingComponent,{
    path: 'buildings/:buildingId/floors/:floorId',component: FloorComponent,}

过滤方法是:

class Ingredient(models.Model):
    article_number = models.AutoField(primary_key=True)
    ingredient_name = models.CharField(max_length=100,null=False)
    cost_amount = models.FloatField(validators=[MinValueValidator(0.1)])
    cost_per_unit = models.FloatField(validators=[MinValueValidator(0)])
    unit = models.ForeignKey(MeasurementUnit,on_delete=models.CASCADE)

    def __str__(self):
        return self.ingredient_name

我不知道我在这方面缺少什么,这让我发疯了。

如果有人能帮助我,我将非常感激!

ieboy2001 回答:Django过滤器“ __包含”查找抛出“未定义”

在Django中,过滤是通过命名参数完成的,因此您应使用:

def filter(request,filter):
    filtered = Ingredient.objects.filter(ingredient_name__contains=filter)
    # …
本文链接:https://www.f2er.com/3170027.html

大家都在问