Python model.create()[Proxy]上的Peewee错误

Python model.create()[Proxy]上的Peewee错误,python,flask,peewee,flask-peewee,Python,Flask,Peewee,Flask Peewee,你好 当我尝试在模型中创建新记录时,我 AttributeError:“dict”对象没有属性“compiler” 可能是因为使用了代理类,我得到了这个错误,但在我的代码中找不到错误 init.py from flask import Flask from flask_peewee.db import Proxy from flask_bootstrap import Bootstrap from app.config import config_select db = Proxy() b

你好 当我尝试在模型中创建新记录时,我

AttributeError:“dict”对象没有属性“compiler”

可能是因为使用了代理类,我得到了这个错误,但在我的代码中找不到错误

init.py

from flask import Flask
from flask_peewee.db import Proxy
from flask_bootstrap import Bootstrap

from app.config import config_select

db = Proxy()
bootstrap = Bootstrap()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config_select[config_name])
    config_select[config_name].init_app(app)

    db.initialize(config_select[config_name].DATABASE)
    bootstrap.init_app(app)

    #register blueprints
    from app.blueprint.main import main_bp as main_blueprint

    app.register_blueprint(main_blueprint)


    return app
models.py

from peewee import *

from app import db



class BaseModel(Model):
    class Meta:
        database = db

class User(BaseModel):
    id = PrimaryKeyField()
    username = CharField(default='test', max_length=20)

    class Meta:
        db_table = 'users'





MODELS_LIST = [User]
数据库是由管理器的“生成数据库表”命令创建的

import os
from app import create_app


from flask_script import Manager, Shell

app = create_app(os.getenv('FLASK_CONFIG') or 'default')
manager = Manager(app)



def connect_db():
    from peewee import SqliteDatabase
    db_lite = SqliteDatabase(app.config['DATABASE']['name'])
    return db_lite

@manager.command
def generate_db_tables():
    from app.models.models import MODELS_LIST
    db_lite = connect_db()
    for model in MODELS_LIST:
        db_lite.create_table(model, safe=True)
    print("Db tables created")
和查看功能:

from flask import render_template, session, \
    redirect, url_for, current_app, flash, request, make_response

from . import main_bp
from .forms import NameForm
from app.models.models import User

@main_bp.route('/', methods=['GET', 'POST'])
def index():
    form = NameForm()
    if form.validate_on_submit():
        User.create(username=form.name.data) # <<<< Here is error
        return url_for('.index')
    return render_template('index.html', form=form)
从flask导入渲染模板,会话\
重定向、url、当前应用程序、flash、请求、做出响应
从…起导入主程序
from.forms导入NameForm
从app.models.models导入用户
@main_bp.route('/',methods=['GET','POST'])
def index():
form=NameForm()
if form.validate_on_submit():

User.create(username=form.name.data)#似乎我通过了dict

DATABASE = {
    'name': 'test.db',
    'engine': 'peewee.SqliteDatabase'
}
到db.initialize()

而不是数据库的字符串名称

DATABASE_INFO = 'test.db'
DATABASE = peewee.SqliteDatabase(DATABASE_INFO)
db.initialize(DATABASE)