Django + SQLAlchemy + RESTful API(tastypie?)
我现在在用Django配合SQLAlchemy,想为移动设备做一个简单的API。
我正在考虑不同的Python RESTful API框架,特别是tastypie和piston。
有没有人能告诉我,怎么用这两个模块把资源和SQLAlchemy连接起来?
或者,有没有其他框架更适合和Django+SQLAlchemy一起使用的?
谢谢大家。
2 个回答
2
Tastypie可以和SQLAlchemy一起使用。
你可以看看tastyalchemy @ github - 这是一个很好的起点,教你如何为Tastypie构建一个SQLAlchemy资源。使用它,你可以为SQLAlchemy的ORM类创建一个资源,比如:
class MyORMResource(SQLAlchemyResource):
class Meta:
resource_name = 'myorm'
object_class = MySQLAlchemyORMClass
allowed_methods = ['get', 'post', 'put', 'delete']
我发现需要实现SQLAlchemyResource.post_detail()才能让更新功能正常工作。我处理会话的方式也不同,所以我改了一些东西。不过,如果你愿意看看tastypie的resource.py,其实很容易就能上手。外键也可以正常使用,不过我还没找到让“一对多”关系正常工作的办法。
3
你可能想看看tastypie文档中的以下页面:
http://django-tastypie.readthedocs.org/en/latest/non_orm_data_sources.html
特别是,里面的riak示例看起来不错,正是你需要实现的那种东西。