26 lines
653 B
Python
26 lines
653 B
Python
|
import logging
|
||
|
|
||
|
from ttfrog.db import schema
|
||
|
from ttfrog.db.manager import db
|
||
|
from .base import BaseController
|
||
|
|
||
|
from pyramid.httpexceptions import exception_response
|
||
|
|
||
|
|
||
|
class JsonData(BaseController):
|
||
|
model = None
|
||
|
model_form = None
|
||
|
|
||
|
def configure_for_model(self):
|
||
|
try:
|
||
|
self.model = getattr(schema, self.request.matchdict.get('table_name'))
|
||
|
except AttributeError:
|
||
|
raise exception_response(404)
|
||
|
|
||
|
def response(self):
|
||
|
query = db.query(self.model).filter_by(**self.request.params)
|
||
|
return {
|
||
|
'table_name': self.model.__tablename__,
|
||
|
'records': query.all()
|
||
|
}
|