2014-03-14 2 views
1

누군가 내 장고 formset에 양식을 채우지 않으면 [{}]을 반환합니다.빈 사전으로 세트 만들기 파이썬에서 False를 반환합니다.

집합 내의 사전에 데이터가 채워 졌는지 여부를 테스트 할 수 있습니까? 이 빈 사전으로 작동하지 않습니다하지만 다음과 같은 무언가가, 진정한 목록 반환을 보인다 :

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
빈 사전 또는 빈 목록은 "false"를, 그러나 목록이 포함 된 빈 파이썬에서

사전은 "사실"입니다. 목록이 하나 개 이상의 사전을 가지고 있으며, 최초의 사전 인 경우에만

if form and form[0]: 
    ... 

이이 if 몸을 입력합니다 :

당신이 목록을 입력하고 요소를 확인해야하므로 원하는 검사를 수행합니다 비어 있지 않음

관련 문제