Commit 0f0119ad authored by Sean Lynch's avatar Sean Lynch

Expose to allow overriding in subclass ModelView

parent 56fc52b5
......@@ -451,6 +451,12 @@ class ModelView(BaseModelView):
return joined
# Database-related API
def get_query(self):
"""
Return a query for the model type
"""
return self.session.query(self.model)
def get_list(self, page, sort_column, sort_desc, search, filters, execute=True):
"""
Return models from the database.
......@@ -472,7 +478,7 @@ class ModelView(BaseModelView):
# Will contain names of joined tables to avoid duplicate joins
joins = set()
query = self.session.query(self.model)
query = self.get_query()
# Apply search criteria
if self._search_supported and search:
......@@ -564,7 +570,7 @@ class ModelView(BaseModelView):
:param id:
Model id
"""
return self.session.query(self.model).get(id)
return self.get_query().get(id)
# Model handlers
def create_model(self, form):
......@@ -637,7 +643,7 @@ class ModelView(BaseModelView):
try:
model_pk = getattr(self.model, self._primary_key)
query = self.session.query(self.model).filter(model_pk.in_(ids))
query = self.get_query().filter(model_pk.in_(ids))
if self.fast_mass_delete:
count = query.delete(synchronize_session=False)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment