【发布时间】:2019-08-23 06:39:04
【问题描述】:
我正在尝试根据空格 " " 拆分我的查询。例如 first_name last_name 但是如果我尝试检查搜索中的空格,我会收到错误
“NoneType”类型的参数不可迭代
if ' ' in query: #This is where is the error is generated
正在尝试解决上述问题。下面是整个代码
class QList(SelectRelatedMixin, ListView):
model = Question
def get_queryset(self):
queryset = super(QList, self).get_queryset().order_by('-created_at')
query = self.request.GET.get('q')
if ' ' in query:
query = query.split()
queryset = queryset.filter(
chain(User.objects.filter(first_name__icontains=query[0], last_name__icontains=query[1]),
User.objects.filter(first_name__icontains=query[1], last_name__icontains=query[0])))
return queryset
else:
queryset = queryset.filter(
Q(user__username__iexact=query) |
Q(user__first_name__iexact=query) |
Q(user__last_name__iexact=query)
)
return queryset
任何人都可以提出解决方法
【问题讨论】:
-
您要检查的内容。
query在if ' ' in query中是否为空? -
@ShafikurRahman 只想分开
first_name" "last_name。因此,如果两个字之间有space或" "。第一个单词成为第一个名字,第二个单词成为姓氏
标签: django python-3.x django-views django-queryset