使用RestController为turbogears提供资源

时间:2012-09-26 01:01:46

标签: python rest turbogears2

我在理解如何最好地提供数据方面遇到了问题。我有2个模型,一个是记录,另一个是日志,它们分别有1对多的关系。我想使用tg的RestController来提供这个服务,所以我可以做mysite.com/api/record_id/log 到目前为止,我有这个:

class API(RestController):

    @expose('json')
    def get_all(self):
        records = DB.query(Record).all()
        return dict(records=records)

    @expose('json')
    def get_one(self, record_id):
        try:
            record = DB.query(Record).filter(
                        Record.record_id==record_id).one()
        except NoResultFound:
            abort(404)
        return dict(record=record)

    @expose('json')
    def log(self, record_id):
        try:
            log = DB.query(Log).filter(
                        Log.record_id==record_id).all()
        except NoResultFound:
            abort(404)
        return dict(log=log)

但是,如果我转到mysite.com/api/log,它会(按预期方式)映射到log方法并抱怨缺少的变量record_id。如何才能这样做,以便只能在记录资源之后访问日志方法?

0 个答案:

没有答案