linuxs
V2EX  ›  Flask

flask 批量导入数据的时候出现错误? 求指教!

  •  
  •   linuxs · Oct 26, 2017 · 3362 views
    This topic created in 3131 days ago, the information mentioned may be changed or developed.
    批量添加数据报错:RuntimeError: application not registered on db instance and no application bound to current context

    from app import create_app,db
    from flask_script import Manager, Shell
    from flask_migrate import Migrate, MigrateCommand
    from script.hosts import hostinfo
    from app.models import Hosts


    app = create_app('default')
    manager = Manager(app)
    migrate = Migrate(app, db)



    def make_shell_context():
    return dict(app=app, db=db, Hosts=Hosts,)

    manager.add_command("shell", Shell(make_context=make_shell_context))
    manager.add_command('db', MigrateCommand)


    hostinfo = hostinfo()
    for i in hostinfo.get_host():
    for info in i:
    info = Hosts(netip=info['PublicIpAddress']['IpAddress'][0],
    name=info['InstanceName'],
    area=info['RegionId'],
    osname=info['OSName'],
    host_config='CPU:%s Mem:%s intout:%s' % (info['Cpu'],info['Memory'],info['InternetMaxBandwidthOut']))
    db.session.add(info)
    db.session.commit()


    if __name__ == '__main__':
    manager.run()
    2 replies    2017-10-27 07:45:22 +08:00
    linuxs
        1
    linuxs  
    OP
       Oct 26, 2017
    hostinfo = hostinfo()
    for i in hostinfo.get_host():
    for info in i:
    info = Hosts(netip=info['PublicIpAddress']['IpAddress'][0],
    name=info['InstanceName'],
    area=info['RegionId'],
    osname=info['OSName'],
    host_config='CPU:%s Mem:%s intout:%s' % (info['Cpu'],info['Memory'],info['InternetMaxBandwidthOut']))
    db.session.add(info)
    db.session.commit() 这段是添加数据的代码
    akiakiseofficial
        2
    akiakiseofficial  
       Oct 27, 2017 via Android
    按你这样的写法,在 manager.run() 之前就尝试向数据库添加数据。报 no application bound to current context 大概也是这个原因。

    试试看把批量添加数据的操作写成一个命令。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   844 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.