我可以使用Django从模型中的多数据库搜索吗?

库塔巴·H·莫玛尼

我有这段代码,工作完美..但是我想在我所有的模型中搜索该怎么做?

有什么想法吗?

我的代码

Models.py:

class OpratingSystems(models.Model):
# def etc .. 
class AndroidGames(models.Model):
# def etc ..
class Antivirus(models.Model):
# def etc ..
class AndroidApks(models.Model):
# def etc ..
class PCgames(models.Model):
# def etc ..
class PCprogram(models.Model):
# def etc ..
class Homepage(models.Model):
# def etc ..

Views.py:

   def search(request):
    if request.method == 'GET':
        query= request.GET.get('q')
        submitbutton= request.GET.get('submit')

        if query is not None:
            lookups= Q(name__icontains=query) | Q(app_contect__icontains=query) | Q(page_url__icontains=query) | Q(app_image__icontains=query)

            results= Homepage.objects.filter(lookups).distinct()


            context={'results': results,
                     'submitbutton': submitbutton}

            return render(request, 'html_file/enterface.html', context)

        else:
            return render(request, 'html_file/enterface.html')

    else:
        return render(request, 'html_file/enterface.html')

html页面:

     {% if submitbutton == 'Search' and request.GET.q != '' %}
 {% if results %}
 <h1> <small> Results for </small><b>{{ request.GET.q }}</b> : </h1>
 <br/><br/>

 {% for result in results %}
 <label id="label_main_app"> <img id="img_main_app_first_screen" src="{{result.app_image.url}}" alt="no image found !" height="170" width="165" > {{result.name}} <br><br> <p id="p_size_first_page"> {{result.app_contect}} <br> <br> <a href="{{ result.page_url }}" type="button" class="btn btn-primary"><big> See More & Download </big>  </a> </p>
  </label>


 {% endfor %}
 {% else %}
 <h3> No results for this search </h3>
 {% endif %}
 {% endif %}

这是我的代码,并且在Homeoage模型中工作,因此如何使用所有模型?

Arjun

一种解决方案是使用filter()方法,然后将所有查询与itertools.chain结合在一起

if query is not None:

   query1 =Model1.objects.filter(title__icontains=query)
   query2 = Model2.objects.filter(modelfield__icontains=query)
....

#now you can combine all queries with this chain method

   from itertools import chain
   results= list(chain(query1,query2...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以使用Django模型在数据库上执行复杂的查询吗?

我可以使用django在数据库中创建某种缓存吗?

django可以使用外部数据库吗?

我们可以使用JDBC在Android中连接远程MySQL数据库吗?

我可以使用哪些模块从数据库 ping Django 中的网站?

您可以使用Laravel 5在数据库中创建条目而不填充Eloquent模型吗

我可以使用休眠搜索将UUID用作模型/ pojo类中id字段的数据类型吗

我可以使用Git备份MongoDB数据库吗?具体来说,我可以在github存储库中包含mongo数据目录吗?

我可以使用Python的Pygal模块可视化SQLalchemy数据库中的数据吗?

我可以使用 R 中的 DBI 库将一个 SQLite 数据库附加到另一个数据库吗?

我可以使用任何文件作为我的游戏数据库吗?

我可以使用一个用户来连接MongoDB中的不同数据库吗?

我可以从 edmx 模型更新数据库表吗?

如果我的数据库中有php,可以使用它吗?

我可以使用mysql(不是mysqldump)转储数据库吗?

我可以使用Navigation Properties加载带有表的整个数据库吗?

我可以使用相同的数据库目录设置两个Fuseki实例吗?

我可以使用SqlBulkCopy将相同的主键更新到远程数据库吗?

我可以使用全局模式查询数据库吗?

我可以使用内存数据库启动Laravel服务器吗?

除了MongoDB,我们可以使用其他数据库吗?

我可以使用Athena在RDS数据库中进行查询吗?

我可以使用mysql Dockerfile构建本地构建的mysql数据库吗?

我可以使用 firebird 数据库安装 jhipster 吗?

可以使用 Python 作为数据库语言吗?

可以使用pgAdmin管理OpenShift数据库吗?

我可以使用VSCode在外部库中搜索吗?

您可以使用文本相似性搜索相关的数据库表/字段吗?

我可以使用CMD在Windows中搜索文件吗?