Python 在Django中搜索几个列
我得到了一个只有几列的数据库。 我想在我的搜索中添加一个选项,不仅搜索一个类似项目的列。我还想再搜索几列。。因此,搜索将查找Project、ServerName或IP,并搜索所有列或其中的一些列 我尝试过(Project\uuuiCONTAINS=query,ServerName\uuuiCONTAINS=query),但它说的语法错误 index.html:Python 在Django中搜索几个列,python,mysql,django,database,web,Python,Mysql,Django,Database,Web,我得到了一个只有几列的数据库。 我想在我的搜索中添加一个选项,不仅搜索一个类似项目的列。我还想再搜索几列。。因此,搜索将查找Project、ServerName或IP,并搜索所有列或其中的一些列 我尝试过(Project\uuuiCONTAINS=query,ServerName\uuuiCONTAINS=query),但它说的语法错误 index.html: def get(self, request): form = HomeForm() query = re
def get(self, request):
form = HomeForm()
query = request.GET.get("q")
posts = serverlist.objects.all()
if query:
posts = serverlist.objects.filter(Project__icontains=query)
else:
posts = serverlist.objects.all()
# else:
models.py:
from django.db import models
class serverlist(models.Model):
ServerName = models.CharField(max_length = 30)
Owner = models.CharField(max_length = 50)
Project = models.CharField(max_length = 30)
Description = models.CharField(max_length = 255)
IP = models.CharField(max_length = 30)
ILO = models.CharField(max_length = 30)
Rack = models.CharField(max_length = 30)
Status = models.CharField(max_length = 30)
你可以用
从文档中:
Q对象(django.db.models.Q)是用于封装关键字参数集合的对象。这些关键字参数在上面的“字段查找”中指定
例如:
posts = serverlist.objects.filter(
Q(Project__icontains=query)|Q(ServerName__icontains=query)
)
不客气。如果答案有帮助,请接受:)嗨,埃夫金,你有我可以联系你的电子邮件吗?嗨,埃夫金,我还有很多问题要问。你能检查一下,我给你打勾吗?