我有一个函数可以检查配置文件名称并确定它是否在标记的配置文件名称中。
def check_profiles(request):
try:
# get all individual profiles
profiles = Profile.objects.all()
# get all individual tagged profiles
tagged_profiles = TaggedProfiles.objects.all()
# ids to exclude in adding dates
exclude_profiles = []
# for profile in profiles
for profile in profiles:
# for tagged in sdn list
for tagged_profile in tagged_profiles:
# if contains 1
if any(name in tagged_profile.name_breakdown() for name in profile.name_breakdown()):
# put in exclude
exclude_profiles.append(profile.pk)
profile.status = 'FOR REVIEW'
profile.save()
break
for profile in Profile.objects.all().exclude(pk__in = exclude_profiles):
cleared_dates = profile.cleared_dates
cleared_dates.append(
{
'date': datetime.now().strftime('%Y-%m-%d'),
'time': datetime.now().strftime('%I:%M %p')
})
logger.debug(cleared_dates)
profile.cleared_dates = cleared_dates
profile.save()
except Exception as e:
logger.error(e)
基本上,如果一个 profile
的名字是 'firstname lastname'
,它的细分是 ['firstname', 'lastname']
。如果 tagged_profiles
在它的任何一个细分中包含 'firstname'
或 'lastname'
,它就是一个成功。
但是我这样做效率很低。如何使用 django 的任何内置函数对其进行优化?
你可以看到它here。