Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ORM';比如';django python中的查询_Python_Django_Python 3.x_Django Models - Fatal编程技术网

ORM';比如';django python中的查询

ORM';比如';django python中的查询,python,django,python-3.x,django-models,Python,Django,Python 3.x,Django Models,keywords=Donut使用关键字\uuuu name\uuuu in=Donut 但是我需要得到结果关键字\uuuu name\uuu in=Don 视图.py items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__in=keyword,keyword__mood__moods=mood).select_related() # items=ItemVar

keywords=Donut使用
关键字\uuuu name\uuuu in=Donut
但是我需要得到结果
关键字\uuuu name\uuu in=Don

视图.py

items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__in=keyword,keyword__mood__moods=mood).select_related() 
# items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__contains=keyword,keyword__mood__moods=mood).select_related() # it is returning null
# items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__icontains=keyword,keyword__mood__moods=mood).select_related() 
class Keyword(models.Model):
    name=models.CharField(max_length=500,unique=True)
    image = models.ImageField(upload_to='keywords/', blank=True, null=True)
    mood=models.ManyToManyField(Mood,blank=True)
    def __str__(self):
        return str(self.name)

class ItemVariation(models.Model):
    restaurant=models.ForeignKey(Restaurant,on_delete=models.CASCADE)
    item=models.ForeignKey(Item,on_delete=models.CASCADE)
    price=models.IntegerField(blank=True,null=True,default=0)
    item_code=models.CharField(max_length=500)
    keyword= models.ManyToManyField(Keyword)
    image=models.ImageField(upload_to='dishes/', blank=True, null=True)
型号.py

items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__in=keyword,keyword__mood__moods=mood).select_related() 
# items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__contains=keyword,keyword__mood__moods=mood).select_related() # it is returning null
# items=ItemVariation.objects.filter(item__restaurant__id = i['restaurant']['id'],keyword__name__icontains=keyword,keyword__mood__moods=mood).select_related() 
class Keyword(models.Model):
    name=models.CharField(max_length=500,unique=True)
    image = models.ImageField(upload_to='keywords/', blank=True, null=True)
    mood=models.ManyToManyField(Mood,blank=True)
    def __str__(self):
        return str(self.name)

class ItemVariation(models.Model):
    restaurant=models.ForeignKey(Restaurant,on_delete=models.CASCADE)
    item=models.ForeignKey(Item,on_delete=models.CASCADE)
    price=models.IntegerField(blank=True,null=True,default=0)
    item_code=models.CharField(max_length=500)
    keyword= models.ManyToManyField(Keyword)
    image=models.ImageField(upload_to='dishes/', blank=True, null=True)
我有这个查询,我需要在=%keyword%中使用关键字名称

我正在使用PostgreSQL数据库 我为此传递的参数/?关键字=甜甜圈&情绪=约会

"items": [
            {
                "id": 7,
                "item": {
                    "name": "Donut",
                    "short_description": "Donuts"
                },
                "price": 0,
                "item_code": "test",
                "image": "/media/dishes/download_3_kcE78IS.jpeg",
                "restaurant": 1,
                "keyword": [
                    3
                ]
            }
        ],
使用icontains时的结果

“项目”:[],

您正在寻找的项目(或
icontains


请分享(相关)模型。然后是
关键字\uuuu名称\uuuu icontains=keyword
。icontains不起作用,它返回的是空的,将示例数据和关键字值添加到您的问题中。但这里您可以查看
项目
是否有一家餐厅的
关键字名称
包含文本,并且对于该关键字,它包含一个特定的语气。@M4STER-“不工作”不是一个很好的描述。