第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

django:按成分搜索

django:按成分搜索

哈士奇WWW 2021-09-11 16:18:29
我正在創(chuàng)建一個網(wǎng)站,用戶可以在其中搜索配料的食譜,但我只能通過輸入 1 種配料進(jìn)行搜索,當(dāng)我輸入一種以上時,搜索返回空。 正確的搜索應(yīng)該是用戶插入多種成分并返回包含這些成分的食譜。 我找不到哪里出了問題:(這是我的models.pyclass Fotos(models.Model):    id = models.AutoField(primary_key=True)    linkfoto = models.ImageField()    nomes = models.ForeignKey('Nomes', models.DO_NOTHING, blank=True, null=True)    class Meta:        managed = False        db_table = 'fotos'class Ingredientes(models.Model):    id = models.AutoField(primary_key=True)    ingrediente = models.TextField()    nomes = models.ForeignKey('Nomes', models.DO_NOTHING, blank=True, null=True)    class Meta:        managed = False        db_table = 'ingredientes'class Nomes(models.Model):    id = models.AutoField(primary_key=True)  # AutoField?    nome = models.TextField()    class Meta:        managed = False        db_table = 'nomes'視圖.pyfrom django.shortcuts import renderfrom .models import Ingredientes, Nomes, Fotosdef post_list(request):    termo_busca = request.GET.get('pesquisa')    if termo_busca:        a = Ingredientes.objects.all().filter(ingrediente__contains=termo_busca)        # a = a.exclude(ingrediente__icontains=termo_busca!=termo_busca)        busca = [p.nomes_id for p in a]        lista = []        for i in busca:            nome = Nomes.objects.get(id=i)            ingredientes = Ingredientes.objects.filter(nomes_id__in=[i])            foto = Fotos.objects.get(id=i)            lista.append([nome, ingredientes, foto])    else:        a = Nomes.objects.all()[:10]        cont = len(a)        lista = []        for i in range(1, cont):            nome = Nomes.objects.get(id=i)            ingredientes = Ingredientes.objects.filter(nomes_id__in=[i])            foto = Fotos.objects.get(id=i)            lista.append([nome, ingredientes, foto])    return render(request, 'aplicacao/post_list.html', {'lista': lista})
查看完整描述

1 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊

首先使用


ingrediente__icontains

因?yàn)樵谀愕那闆r下,“檸檬”和“檸檬”不一樣。我猜用戶在 html input或textarea中輸入搜索詞。您需要使用一些規(guī)則來限制輸入。示例用戶必須使用空格分隔成分。請參閱正確的搜索字符串。


檸檬魚鹽 那么在你看來你需要一一獲取它的成分???/p>


if termo_busca:

    all_ingred = Ingredientes.objects.all()

    searching_ingred = Ingredientes.objects.none()

    for one_ingredient in termo_busca.split():

        searching_ingred = searching_ingred.union(searching_ingred, all_ingred.filter(ingrediente__icontains=one_ingredient))

    # do some with ingredients that match searching


查看完整回答
反對 回復(fù) 2021-09-11
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號