我正在尝试检查字段值是否已被删除,如果所有字段都包含值,则返回False
或True
。
我的代码实际上不检查字段中的值,而只是检查字段是否存在。
如何查看每个特定字段的值?
这是我的模型,在我看来,我必须检查该功能。
# 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)
最佳答案
从查询集中获取值
,这将是一个dict
对象。
解决方案:
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
关于python - 如何在Python/Django中检查字段的值是否已被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46769951/