Mozilla использует в своих проектах Pyramid и у них есть отличный модуль для создания REST API https://cornice.readthedocs.org/en/latest/
REST API обычно меняет, создает и удаляет записи, которые хранятся в БД. Что бы не писать много кода на SQLAlchemy я использую заготовленные функции из sacrud
Итак поехали, представим сервис REST API для платежных карт с моделью типа:
class Card(Base):
__tablename__ = 'card'
id = Column(Integer, primary_key=True)
number = Column(BigInteger, nullable=False, unique=True)
uid = Column(BYTEA, nullable=False, unique=True)
balance = Column(Numeric(10, 2), nullable=False, default=0)
preference = Column(GUID())
def __json__(self):
return {'id': self.id,
'number': self.number,
'uid': str(self.uid),