我根据country_name
表的一列(country
)从数据库中检索了这个国家/地区列表:
list_countries = Country.objects.values_list('country_name', flat=True).distinct()
结果是这样的:
[u'', u'China', u'France', u'Germany', ...]
数据库中的某些值为空。如何删除检索到的空白,以便我检索到的结果只是country_name not null(cf country_name != ''
)?
答案 0 :(得分:5)
您可以使用Q对象,
from django.db.models import Q
list_countries = Country.objects.filter(~Q(country_name='')).values_list('country_name', flat=True).distinct()
答案 1 :(得分:1)
您可以使用列表推导来删除零长度条目。
list_countries = [country for country in list_countries if len(country) > 0]
答案 2 :(得分:1)
我同意Adem的回答,除了一个改变。
from django.db.models import Q
list_countries = Country.objects.filter(~Q(country_name='')).distinct().values_list('country_name', flat=True)
这比Adem的回答略胜一筹。