2017-02-19 75 views
0

我有一个模型,其列team_id可以为null。我想检查它是否是nullNoneDjango QuerySet问题

team_id = Profile.objects.values_list('team_id').filter(user_id=request.user) 
    print(team_id) 

    if not team_id: 
     print("none") 
    else: 
     print("not none") 

我得到以下输出:

<QuerySet [(None,)]> 
not none 

所以team_idNone,但它仍然打印出not none。我搜索了很多次,但解决方案和我的一样。我也试过这个:

if team_id is not None: 

但给了我同样的结果...任何想法?

回答

3

因为你有一个包含一个包含单值None的元组的列表。该列表本身不等于无。

1

假设有每个用户只有一个记录,这似乎是从你的描述/码的情况下:

try: 
    profile = Profile.objects.get(user_id=request.user) 
    if profile.team_id: 
     print 'not none' 
    else: 
     print 'none' 
except Profile.DoesNotExist: 
    print 'profile not found'