2016-09-22 22 views
1

我需要檢查Django查詢是否具有值,如果不是,我需要將字典添加到用於驗證目的的查詢集。所以,我不想在數據庫中創建一個條目。如果查詢集爲空,則添加一個字典

顯然,由於我不能附加到查詢集(屬性錯誤)是否有任何其他方式來添加此?

listing = Listing.objects.values() 
if len(listing) < 1: 
    listing.append({ 
     'address': 'some string', 
     'range': 'some other string' 
    }) 

回答

0
,如果你想手動創建一個列表時,查詢集是空

,這是比較容易

listing = Listing.objects.values() 
if len(listing) < 1: 
    listing = [{ 
     'address': 'some string', 
     'range': 'some other string' 
    }] 
如果你想添加一些東西不管查詢集是否爲空

或不:

listing = list(Listing.objects.values()) 
listing.append({ 
     'address': 'some string', 
     'range': 'some other string' 
    }) 
+0

謝謝!這項工作很棒! – sipra287

+0

很高興有幫助 – e4c5

0
listing = Listing.objects.all() 
if not listing: 
    listing = [] 
    listing.append({ 
     'address': 'some string', 
     'range': 'some other string' 
    }) 
+0

這樣,如果我有數據在'listing.objects.all'中,我將成爲一個列表,當我在驗證代碼中爲代碼清單中的字典值('地址'): value.text = dict ['address']/value.text = dict ['range']'當我訪問它們時會拋出錯誤。 :( – sipra287

+0

所以然後檢查isinstance(your_object,列表) - >如果真正使用'的物品在列表中' 那麼你可以使'item.get('your_field')' – sebb

0
listing = Listing.objects.values() 
if not listing.exists(): 
    listing = [{ 
     'address': 'some string', 
     'range': 'some other string' 
    }] 
相關問題