Как разрешить пользователям создавать классы и связывать их базы данных в Python Flask? - PullRequest
0 голосов
/ 07 января 2019

Я хочу разрешить пользователям создавать Класс и связывать их базу данных из внешнего интерфейса, чтобы добавить несколько входов, таких как ( определения столбцов )

например, я хочу, чтобы пользователи выбрали

1- имя столбца

2 - тип столбца

3- первичный ключ ( True или False )

4- количество символов

5 - уникальный ( True или False )

я хочу, чтобы Pyton создал нечто подобное

class Users(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    location = db.Column(db.String(25))
    name = db.Column(db.String(80))
    title = db.Column(db.String(25))


    def __init__(self,email,password,active,confirmed_at,location,name,title):
        #self.id = id
        self.email = email
        self.password = password
        self.location = location
        self.name = name
        self.title = title

также я хочу, чтобы python позволял пользователю связывать свою базу данных (1 для каждой сессии)

app.config['SQLALCHEMY_DATABASE_URI'] = '< user_input_goes_here >'

Я не могу найти заголовок того, что я ищу, но я думаю, что код может быть похож на серверную часть "adminer.cs50.net", потому что он может читать базу данных любого ввода, который мы

просто гуглил и я не уверен что мне нужно искать

все еще идея, у меня еще нет кода

app.config['SQLALCHEMY_DATABASE_URI'] = '< user_input_goes_here >'

class Users(db.Model, UserMixin):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(255), unique=True)
        password = db.Column(db.String(255))
        location = db.Column(db.String(25))
        name = db.Column(db.String(80))
        pos = db.Column(db.String(25))


        def __init__(self,email,password,active,confirmed_at,location,name,pos,entryNo,userCode):
            #self.id = id
            self.email = email
            self.password = password
            self.location = location
            self.name = name
            self.pos = pos
...