【问题标题】:Problems to connect to my DB with the Bottle-Peewee-Plugin使用 Bottle-Peewee-Plugin 连接到我的数据库的问题
【发布时间】:2015-07-26 03:32:18
【问题描述】:

我制作了一个脚本 (dbcreation.py),它使用 bottle-peewee-plugin:

创建一个数据库
import os, sys
from bottle import Bottle
from bottle_peewee import PeeweePlugin
from peewee import Model, ForeignKeyField, CharField, TextField, IntegerField, BooleanField, DateTimeField, DateField, TimeField
import datetime

app = Bottle()
db = PeeweePlugin('sqlite:///x.db')

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

class Roomtype(BaseModel):
        roomtype_de = CharField(max_length=80)
        hint_de = CharField(max_length=250)

app.install(db)

db.database.create_tables([Roomtype])

roomtypes = [
    {'roomtype_de': 'bla'},
    {'roomtype_de': 'bla'},
]

with db.database.atomic():
    Roomtype.insert_many(roomtypes).execute()

还有另一个脚本 (app.py) 将包含我的 bootle-app:

from bottle import Bottle, route, get, post, request, run, template
from bottle_peewee import PeeweePlugin
from peewee import Model, ForeignKeyField, CharField, TextField, IntegerField, BooleanField, DateTimeField, DateField, TimeField    

app = Bottle()
db = PeeweePlugin('sqlite:///x.db')

@route('/my_function')
def my_function():
        return db.database.Roomtype.get(Roomtype.id == 1).roomtype_de

app.install(db)

我无法在我的数据库中选择任何条目并收到以下回溯:

return db.database.Roomtype.get(Roomtype.id == 1).roomtype_de
AttributeError: 'SqliteDatabase' object has no attribute 'Roomtype'

我错过了什么?

【问题讨论】:

    标签: python python-2.7 bottle peewee


    【解决方案1】:

    也许改成:

    db.Roomtype.get(...)
    

    我很困惑为什么你在某些地方使用db.Roomtype,而在其他地方只是简单的旧Roomtype

    【讨论】:

    • 你是什么意思? db.Roomtype.get(Roomtype.id == 1).roomtype_de AttributeError: 'PeeweePlugin' object has no attribute 'Roomtype' - 是不是类定义应该与我的应用程序保存在同一个文件中才能访问它?
    • 已解决:'def my_function(): return Roomtype.get(Roomtype.id == 3).roomtype_de' 有效,如果类在同一个文件中。
    猜你喜欢
    • 2023-03-13
    • 2019-11-07
    • 2016-03-06
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多