ключевые слова = пончик работает с keyword__name__in=Donut
, но мне нужно получить результат keyword__name__in=Don
views.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()
models.py
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)
У меня есть этот запрос, мне нужно использовать ключевое слово__name__in =% ключевое слово% какНапример,
Я использую PostgreSQL параметр базы данных, который я передаю для этого /? keys = Donut & mood = Dating
результат, когда яЯ использую ключевое слово__name__in
"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
"items": [],