在 for 循环 django 中优化 for 循环:添加链接

时间:2021-06-24 19:29:17

标签: django for-loop

我有一个函数可以检查配置文件名称并确定它是否在标记的配置文件名称中。

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

0 个答案:

没有答案