Hi! I have some Django Model which has two properties:
class M(Model):
@property
def p1(self):
return process_result(SomeModel.objects.filter(val_gt=1))
@property
def p2(self):
return process_result(SomeModel.objects.filter(val_lt=1))
And both used in Django Admin list_lisplay = ('p1','p2',)
I want to replace 2 database queries with 1, something like this
class M(Model):
def some_hook(self):
res = SomeModel.objects.all()
self.p1 = process_result(filter(lambda l:l.val > 10, res))
self.p2 = process_result(filter(lambda l:l.val < 10, res))
PS: problem with >10 or <10
is just an example for simplification, I am only trying to find a way how to define multiple properties with performing one common database query
Thanks
def p1_p2(self):
res = SomeModel.objects.all()
p1 = process_result(filter(lambda l:l.val > 10, res))
p2 = process_result(filter(lambda l:l.val < 10, res))
return p1,p2
def p1(self):
return self.p1_p2[0]def p2(self):
return self.p1_p2[1]