Работают ли любые ORM-устройства Python (SQLAlchemy?) С Google App Engine?

Я хотел бы использовать версию App Engine для Python, но вместо того, чтобы писать свой код специально для Google Data Store, я хотел бы создать свои модели с помощью общего ORM Python, который можно было бы привязать к Big Table, или, если бы я предпочитают регулярную базу данных в более позднее время. Есть ли какой-либо Python ORM, такой как SQLAlchemy, который позволит это?

2 Solutions collect form web for “Работают ли любые ORM-устройства Python (SQLAlchemy?) С Google App Engine?”

Технически это не будет называться ORM (Object Relational Mapper), а DAL (уровень абстракции базы данных). Часть ORM не очень интересна для AppEngine, поскольку API уже занимается отображением объектов и делает некоторое простое реляционное сопоставление (см. RelationProperty).

Также поймите, что DAL никогда не позволит вам переключаться между хранилищем данных AppEngine и «нормальной» базой данных sql, такой как mysql, потому что они работают по-разному. Это может позволить вам переключаться между различными хранилищами ключевых значений, такими как reddis, mongo или tokyo. Но, поскольку у всех есть такие очень разные характеристики, я бы подумал дважды, прежде чем использовать их.

Наконец, DAL традиционно сидит поверх интерфейса DB, но с api AppEngine вы можете реализовать свои собственные «заглушки», которые в основном позволяют использовать другие бэкэнды для хранения на их api. Люди в Mongo написал один для MongoDB, который очень приятный. И dev_appserver поставляется с файловой системой.

И теперь к ответу: да есть один! Это часть web.py. Я действительно не пытался, если по причинам выше, поэтому я не могу сказать, хорошо ли это.

PS. Я знаю, что Ruby имеет хороший проект DAL для хранилищ keyvalue в работе тоже, но я не могу его найти сейчас … Может быть, приятно переносить на Python в какой-то момент.

В настоящее время они делают, поскольку Google запустил Cloud SQL

  • Обратное определение декларативного класса SQLAlchemy из существующей базы данных MySQL?
  • Определение привязки таблиц SQL Alchemy
  • Сохранять порядок списка в разбивке по страницам в sql
  • Доля моделей sqlalchemy между флягой и другими приложениями
  • Как заказать данные в sqlalchemy по списку
  • Сложное ограничение внешнего ключа в SQLAlchemy
  • Результаты двойного счета Postgres + Sqlalchemy
  • Повесьте скрипт Python с помощью SQLAlchemy и многопроцессорности
  •  
    Interesting Posts for Van-Lav

    Вход WordPress с запросами – Python3

    Python синтаксический анализ XLS с изображениями

    Как отделить слова, используя регулярное выражение в python, рассматривая слова с апострофами?

    Как установить numpy + mkl для python 2.7 на Windows 64 бит?

    CORS с базой pythonHTTPserver 501 (неподдерживаемый метод («ОПЦИИ»)) в хроме

    Почему супер используется так много в PySide / PyQt?

    Как я могу ограничить Celery для выполнения задачи, которая уже поставлена ​​в очередь с теми же аргументами?

    Python: как передать аргумент по умолчанию методу экземпляра с переменной экземпляра?

    Более быстрый переход на большую кодовую базу Python

    Что на самом деле означает принцип безгражданства REST?

    u '\ ufeff' в строке Python

    Преобразование списка в строку, разделенную запятыми, с «и» до последнего элемента – Python 2.7

    Как загрузить несколько изображений в Django с помощью Dropzone для нескольких полей изображения

    странное поведение со списком словарей в python

    Как ввести ввод, прочитать вывод и затем ввести вывод на основе полученного вывода в exe-файл в python?

    Python - лучший язык программирования в мире.