Переопределение имени таблицы в Flask-Alchemy

Я создаю приложение Flask и получаю доступ к базе данных MySQL с помощью Flask-Alchemy.

У меня есть следующий класс для доступа к таблице:

class price_table(db.Model): id = db.Column(db.Integer, primary_key = True) trans_id = db.Column(db.Integer) timestamp = db.Column(db.Integer) order_type = db.Column(db.String(25)) price = db.Column(db.Numeric(15,8)) quantity = db.Column(db.Numeric(25,8)) def __repr__(self): return 'id' 

Для таблицы «price_table» это работает блестяще, но проблема в том, что у меня есть несколько таблиц с теми же столбцами, что и «price_table», из которых я знаю только имя во время выполнения.

Я хочу повторно использовать класс выше, поэтому я думал, что могу изменить имя таблицы для имени таблицы, которую мне нужно прочитать, но это не работает, программа продолжает читать таблицу цен,

Как переопределить имя tablename во время выполнения?

2 Solutions collect form web for “Переопределение имени таблицы в Flask-Alchemy”

Вы должны использовать: tablename :

 class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50), unique=True) email = Column(String(120), unique=True) 

http://flask.pocoo.org/docs/0.12/patterns/sqlalchemy/

На основании комментария, оставленного jbub, я нашел следующее решение, которое делает трюк так же, как это необходимо.

 from app import db def ClassFactory(name): tabledict={'id':db.Column(db.Integer, primary_key = True), 'trans_id':db.Column(db.Integer), 'timestamp':db.Column(db.Integer), 'order_type':db.Column(db.String(25)), 'price':db.Column(db.Numeric(25,8)), 'quantity':db.Column(db.Numeric(25,8)),} newclass = type(name, (db.Model,), tabledict) return newclass 
  • Работают ли любые ORM-устройства Python (SQLAlchemy?) С Google App Engine?
  • Как использовать колбу-sqlalchemy с существующей моделью sqlalchemy?
  • Вложенные транзакции с SQLAlchemy и sqlite
  • SQLAlchemy: как упорядочить результаты запроса (order_by) в поле отношений?
  • В чем разница между Model.query и session.query (Model) в SQLAlchemy?
  • SQLAlchemy не будет обновлять мою базу данных
  • Это утечка памяти (программа в python с sqlalchemy / sqlite)
  • Как сделать JOIN в SQLAlchemy на 3 таблицах, где один из них является сопоставлением между двумя другими?
  • Создание дерева из самореляционных таблиц в SQLalchemy
  • AttributeError: объект 'list' не имеет атрибута '_sa_instance_state'
  • Как определить метакласс для класса, который простирается от декларативной базы sqlalchemy
  •  
    Interesting Posts for Van-Lav

    Выделение синтаксиса для Мако в Eclipse или TextMate?

    Регулярное выражение python: захватывает части нескольких строк, которые содержат пробелы

    Настройка параметров hadoop с помощью boto?

    Keras – Как используются партии и эпохи в fit_generator ()?

    Как написать фильтр нижних частот для дискретизированного сигнала в Python?

    Динамически вызывающие функции – Python

    Нарисуйте меньше участков, чем указано в подзаголовках matplotlib

    Как удалить «Ошибка подключения Http» в python 35

    SocketServer.ThreadingTCPServer – не удается привязать адрес после перезагрузки программы

    Как сделать столбцы QTableWidget максимально допустимыми?

    Почему итератор считается функциональным в документации Python?

    Python __subclasses __ () не перечисляет подклассы

    Как отключить проверку сертификата безопасности в запросах Python

    Попытка решить Project Euler # 10, но код занимает * много * времени для вывода вывода

    Ошибка атрибута при попытке запустить быстрый запуск API Gmail в Python

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