Navigation Menu

Skip to content

Commit

Permalink
Add keep_primary_key parameter to fields() of ORM
Browse files Browse the repository at this point in the history
  • Loading branch information
limodou committed Oct 10, 2016
1 parent 4e42005 commit b82aca0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions uliweb/orm/__init__.py
Expand Up @@ -2599,11 +2599,11 @@ def having(self, *args):
self._having = args
return self

def fields(self, *args, **kwargs):
def fields(self, keep_primary_key=True, *args, **kwargs):
if args:
args = flat_list(args)
if args:
if self.model._primary_field and self.model._primary_field not in args:
if keep_primary_key and self.model._primary_field and self.model._primary_field not in args:
args.append(self.model._primary_field)
self.funcs.append(('with_only_columns', ([self.get_column(self.model, x) for x in args],), kwargs))
return self
Expand Down Expand Up @@ -3042,11 +3042,11 @@ def has(self, *objs):
(self.table.c[self.fieldb].in_(keys))).limit(1))
return len(list(row)) > 0

def fields(self, *args, **kwargs):
def fields(self, keep_primary_key=True, *args, **kwargs):
if args:
args = flat_list(args)
if args:
if self.modelb._primary_field and self.modelb._primary_field not in args:
if keep_primary_key and self.modelb._primary_field and self.modelb._primary_field not in args:
args.append(self.modelb.c[self.modelb._primary_field])
self.funcs.append(('with_only_columns', ([self.get_column(self.modelb, x) for x in args],), kwargs))
return self
Expand Down

0 comments on commit b82aca0

Please sign in to comment.