2017-10-16 34 views
1

我試圖檢查字段的值是否已被刪除,如果所有字段都包含值,則返回FalseTrue如何檢查字段的值是否已在Python/Django中刪除

我的代碼實際上不檢查字段中的值,而只是檢查字段是否存在。

如何檢查每個特定字段的值?

這是我的模型和我的觀點我必須檢查函數。

# models.py 
class CompanyDirector(models.Model): 
    username = models.CharField(max_length=128, blank=True, null=True) 
    directorTitle = models.CharField(max_length=8, blank=True, null=True) 
    directorName = models.CharField(max_length=64, blank=True, null=True) 
    directorSurname = models.CharField(max_length=64, blank=True, null=True) 
    directorId = models.CharField(max_length=16, blank=True, null=True) 
    proffessionStartDate = models.DateTimeField(blank=True, null=True) 

# views.py 
ret = {'complete': False} 
    try: 
     company_director = 
CompanyDirector.objects.filter(company__token=token).first() 
     if company_director: 
     ret['complete'] = True 
     for field in company_director._meta.get_all_field_names(): 
      if not getattr(company_director, field): 
      ret['complete'] = False 
      break; 
    except ValueError as e: 
    print (e) 
    return Response(ret) 

回答

1

獲得從所述查詢集,這將是一個dict對象values

解決方案:在company_director.values

company_director = CompanyDirector.objects.filter(company__token=token).values().first() 
if company_director: 
    for field, value in company_director.items(): 
     if value is None: 
      return False 
    return True 
+0

使用'爲值()',而是如果你不需要的鑰匙。 –

+0

謝謝..我想我說得對。 –

相關問題