check range in search

پرسیده شده
فعالیت 1142 روز پیش
دیده شده 465 بار
1

سلام
انجام تسک این جلسه : چک کردن رنج در سرچ
و and کردن خصوصیات در search به جای or کردنشان

 

البته بنظرم راه بهینه تری هم برای اینکار وجود داره

 

def search(self, **kwargs):

    results = list()
    objects = self._class.objects_list
    for key, value in kwargs.items():

        if key.endswith('__min'):
            key = key[:-5]
            compare_key = 'min'
        elif key.endswith('__max'):
            key = key[:-5]
            compare_key = 'max'
        else:
            compare_key = 'equal'

        if results:
            objects.clear()
            for obj in results:
                objects.append(obj)
            results.clear()

        for obj in objects:
            if hasattr(obj, key):
                if compare_key == 'min':
                    result = getattr(obj, key) >= value
                elif compare_key == 'max':
                    result = getattr(obj, key) <= value
                else:
                    result = getattr(obj, key) == value
                if result:
                    results.append(obj)
    return results
فایل پیوست

محمدرضا نصیری
محمدرضا نصیری

27 اسفند 99