Flask-sqlalchemy как динамически создавать таблицы с именем заданным пользователем
Есть образец модели таблицы описанный с помощью класса Center прописанный в файле models.py
class Center(db.Model):
__bind_key__ = 'militarynote'
__tablename__ = 'Table_name'
id = db.Column(db.Integer, primary_key=True)
number = db.Column(db.Integer)
def __init__(self, *args, **kwargs):
super(Center, self).__init__(*args, **kwargs)
Необходимо получить от пользователя переменную, и создать таблицу в базе данных с указанным именем. И сохранить это имя что бы в дальнейшем можно было работать с этой таблицей Например:
Center = input('Введите имя таблицы: ') # Например - 'Cis'
class Center(db.Model):
__bind_key__ = 'militarynote'
__tablename__ = lower(Center)
id = db.Column(db.Integer, primary_key=True)
number = db.Column(db.Integer)
def __init__(self, *args, **kwargs):
super(Center, self).__init__(*args, **kwargs)
db.create.all()
В этом случае все работает. Но придется каждый раз в коде прописывать класс после того как мы получили переменную. Но этим мы нарушаем DRY. Если прописывать класс в файл models.py получаю ошибку:
__tablename__ = lower(Center): - Что Center - не определен.
По хорошему тут нужно как то присваивать параметр __name__ . И опять же встает вопрос как потом обратится к этому классу задав имя. Подскажите как правильно реализовать данную задачу?