2017-02-19 111 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'