检查我的di数组中是否存在数据

2024-09-28 19:02:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查我的所有字段中是否都有数据,如果一个字段中没有数据,则返回False,否则如果所有字段都已满,则返回True。它只是回到了现实。有人能帮忙吗

ret = {'complete': False}

try:
    company_director = CompanyDirector.objects.filter(company__token=token).values(
        'username','directorTitle','directorInitials',
        'directorName','administrativeOrder',
        'directorSurname','directorId','directorQualification',
        'releventExperiance','education','directorInsolvent',
        'directorProffesionalAssociation','profileImage','profileImageThumbNail',
        'directorProffesionalAssociationList','releventExperiance','shareInBusiness',
        'profileImage','qualifications','criminalOffence','capInBuss','spSkill').first()
    if company_director:
        ret['complete'] = True
        for field, value in company_director.items():
            if (type(value) in [str, unicode] is None and len(value)) == "":
                ret['complete'] = False
                break;
            if str(exclude_items) in field:
                if (type(value) in [str, unicode] and len(value) > 0 and value is not None) or type(value) in \
                        [int]:
                    ret['complete'] = True
except ValueError as e:
    print (e)
return Response(ret)

Tags: and数据intokenfalsetrueifvalue
2条回答
def valid(var):
    if var in [None, '']:
        return False
    return True

ret = {'complete': False}
if company_director:
    ret['complete'] = all(map(valid, company_director.values()))

valid(value)如果有效,则返回True;如果无效,则返回False(not valid=None或'')。map(valid, company_director.values())调用valid for each attribute并返回一个类似于list的布尔对象。all(...)返回True当且仅当iterable的所有布尔值都是True。所以基本上ret['complete']是True当且仅当company_director的所有属性都有效。默认值设置为False,因为如果if company_director:失败,则没有company_director,因此它是不完整的。你知道吗

ret = {'complete': True}
if company_director:
    for field, value in company_director.items():
        if value in [None, ""]:
            ret['complete'] = False
            break

相关问题 更多 >