Django:查找非空字符串的优雅方式

Posted

技术标签:

【中文标题】Django:查找非空字符串的优雅方式【英文标题】:Django: Elegant way to lookup a non-empty string 【发布时间】:2013-08-13 02:30:44 【问题描述】:

我有一个模型 Chair 和一个可以空白的 CharField,称为 wood_type

我想用不是''wood_type 过滤所有椅子。

使用 Django 的优雅方式是什么?

我能想到:

Chair.objects.filter(~django.db.models.Q(wood_type=''))

或者这个:

Chair.objects.filter(wood_type__regex='(.|\n)+')

但它们丑得要命。有没有更优雅的方式?

【问题讨论】:

见***.com/questions/844556/… 【参考方案1】:

Chair.objects.exclude(wood_type='') 应该可以解决问题。

【讨论】:

对不起,使用了 OP 的符号。 我个人不喜欢它...但是无论如何都标记为已接受,因为我想这是 Django 中最好的方法,而不是新的查找类型。【参考方案2】:

排除空字符串

Chair.objects.exclude(wood_type='')

【讨论】:

以上是关于Django:查找非空字符串的优雅方式的主要内容,如果未能解决你的问题,请参考以下文章

字符串子串的查找

非空字符串的哈希码可以为零吗?

C语言--编程实现字符串中子串的查找

Java中字符串中子串的查找共有四种方法(indexof())

最长(大)回文串的查找(字符串中找出最长的回文串)PHP实现

PB中取字符串子串的函数是啥