2014-03-14 44 views
1

如果有人沒有在我的Django formset中填寫任何表單,則返回[{}]用空字典創建一個返回False的Python

如何測試集合中的此字典是否已填充?像下面,雖然這並不能爲空字典工作似乎使列表返回true:

form_output_when_empty = [{}] 
if form_output_when_empty: 
    print "This should not print" 
    # currently this prints out, which is not what I want! 
else: 
    print "This should print." 

form_output_when_filled = [{'name': 'John'}] 
if form_output_when_filled: 
    print "This should print" 
else: 
    print "This should not print" 

回答

1

在Python一個空的字典或一個空列表是「假的」,但包含空列表字典是「真實的」。

要做到這一點,你所以要你需要進入列表,檢查元素的檢查:

if form and form[0]: 
    ... 

這將進入if體只有在列表至少有一個字典和第一詞典不爲空