django - 'NoneType' 类型的参数对于 django 字符串“”是不可迭代的
问题描述
我正在尝试根据空格拆分我的查询" "
。示例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
任何人都可以建议一个解决方法
解决方案
要拆分字符串,只需说你的名字是“Marco Bianchi”。
query = "Marco Bianchi"
first_name = query.split(" ")[0]
last_name = query.split(" ")[1]
更新:而不是
if ' ' in query:
query = query.split()
用这个
query = query.split(" ")
推荐阅读
- angular - 为什么浏览器控制台上的错误'ERROR TypeError:无法读取未定义的属性'concat''
- spring-boot - 整合kafka消费者春批
- javascript - 如何避免 Chrome 在自动填充输入上隐藏背景图像和颜色
- google-apps-script - 谷歌应用脚本如何获取字符串日期中的日期(电子表格)
- swift - 根据标签的字体大小和图像的纵横比调整超级视图的大小
- python-3.x - 从元组列表中提取第一个元素到列表中
- javascript - 如何将打字稿类导入开玩笑的单元测试?没有构造签名
- agda - 如果没有 funext,是否有可能证明不等于无关紧要?
- java - Getting empty result from the @Query in Hibernate
- angular - How to send data to an angular application when calling it from another JSP page?