Moo*_*oon 6 python database django postgresql orm
我想过滤mytable并获取名称不包含''或'-'值的行,为此我使用了下面的查询但不起作用。
mytable.objects.exclude(name = ['','-']).order_by('name').count()返回 2000 个所有行,而查询mytable.objects.exclude(name = '').order_by('name').count()工作正常并返回过滤后的 1460 个结果。
下面一个是我的Postgresql查询,它工作得非常好并返回1450 个结果,不包括['','-'].
select * from mytable where name != '-' and name != '' order by -id
尝试这个。
mytable.objects.exclude(name__in=['', '-'])
Run Code Online (Sandbox Code Playgroud)
这应该排除与您在列表中传递的值匹配的行。
而且你不需要做任何事情order_by()来获得计数。
只需使用.count()直接查询集即可。
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |