def get(cls, q_obj=None, **kwargs): query = cls.objects() query_obj = { } if q_obj: query_obj.update(q_obj) if kwargs: query_obj.update(kwargs) #print query_obj if len(query_obj) == 0: return None query.filter(query_obj).limit(1) result = query.all_items() if query.count() != 1: return None return result[0]
def get(cls, q_obj=None, **kwargs): query = cls.objects() query_obj = {} if q_obj: query_obj.update(q_obj) if kwargs: query_obj.update(kwargs) #print query_obj if len(query_obj) == 0: return None query.filter(query_obj).limit(1) result = query.all_items() if query.count() != 1: return None return result[0]
def search(cls, text, ch=None): text = unicode("%{0}%".format(text)) query = Server.query.filter( or_(Server.name.like(text),Server.host.like(text)) ) if ch is not None: query = query.filter(Server.channel==ch) return query
def test_filter_name_starts_with(self): self.assertEqual( filter(self.test_data, full_name__starswith='Deborah Lopez'), [[ 'Deborah Lopez', 'blue', 'Henson-Pearson', '*****@*****.**', '(783)023-6489', '5067' ], [ 'Deborah Lopez', 'silver', 'Willis Inc', '*****@*****.**', '422.395.8104', '5090' ]])
def test_email_contains(self): self.assertEqual(filter(self.test_data, email__contains='@hotmail'), [[ 'Megan Taylor', 'fuchsia', 'Henderson LLC', '*****@*****.**', '(864)796-1576x58695', '5442' ]])
def test_salay_gt_salary_lt(self): self.assertEqual( filter(self.test_data, salary__gt=5000, salary__lt=5005), [[ 'Angela Jenkins', 'gray', 'Bates-Hoffman', '*****@*****.**', '(132)955-1528', '5001' ]])
def test_salary_gt(self): self.assertEqual(filter(self.test_data, salary__gt=5400), [[ 'Megan Taylor', 'fuchsia', 'Henderson LLC', '*****@*****.**', '(864)796-1576x58695', '5442' ]])
def test_filter_one_name(self): self.assertEqual(filter(self.test_data, full_name='Diana Harris'), [[ 'Diana Harris', 'lime', 'Martin-Barnes', '*****@*****.**', '1-860-251-9980x6941', '5354' ]])
#!/usr/bin/env python # encoding: utf-8 # Date: 2020/12/22 # file: time_interval.py # Email: # Author: 唐政 import datetime import query get_result = print time_interval=("日期区间", "r,[datetime]") start_time = time_interval[0] end_time = time_interval[1] if start_time and end_time: if start_time > end_time: print(u'开始日期不能大于结束日期') query = query.filter(create_time__gte=start_time, create_time__lte=end_time + datetime.timedelta(days=1)) else: if start_time: query = query.filter(create_time__gte=start_time) if end_time: query = query.filter(create_time__lte=end_time + datetime.timedelta(days=1))