2016-11-12 2 views
0

wenn ich peewee ORM verwendet habe, erstellte ich eine postgresql-Datenbank, und ich machte 3 Skript createTable und addUser und dropTable, und es funktioniert gut, aber wenn ich versuche, die Daten in Tabelle Benutzer abzufragen erscheinen: auf solchen Tabelle: Benutzer gibt es einige meinen Code: confiuration.pypeewee auf solche Tabelle

class Configuration(object): 
    DATABASE = 'postgresql://lc:********@localhost:5432/wolfsly' 

    @staticmethod 
    def init_app(app): 
     pass 

app.py

# -*- coding: utf-8 -*- 

from flask import Flask 
from .extensions import db, lm 
from .configuration import config 

_all_ = ['create_app'] 

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

    config_blueprint(app) 
    configure_template_filters(app) 
    config_extensions(app) 

    return app 

def config_extensions(app): 
    db.init_app(app) 

extensions.py

# -*- coding: utf-8 -*- 

from playhouse.flask_utils import FlaskDB 
from flask_login import LoginManager 

lm = LoginManager() 
db = FlaskDB() 

und einer meiner Datenbank Skript createTable.py

# -*- coding: utf-8 -*- 

from application import create_app 
from application.extensions import db 


def createTables(): 
    app = create_app('default') 
    from application.models import (User, Project, Photo) 
    database = db.database 
    database.connect() 
    database.create_tables([User, Project, Photo]) 
    database.close() 

if __name__ == '__main__': 
    createTables() 

wenn ich betreiben meinen createTable.py es gut funktionieren und in der Datenbank erscheint drei Tabellen und nach addUser gibt es normale Daten in meiner Benutzertabelle . Aber wenn ich versuche, Benutzer in User-Tabelle oder Abfrage Daten in User-Tabelle bekommen es mir "auf solchen Tisch: Benutzer" respone und in meiner Arbeit dir erscheint ein peewee.db hier ist ein Code in meiner auth/views.py

# -*- coding: utf-8 -*- 

from flask import render_template, redirect, url_for, flash 
from flask_login import current_user, login_user 
from ..models import User 
from . import bpAuth 

@bpAuth.route('/login') 
def login(): 
    pass 

@bpAuth.route('/test') 
def test(): 
    query = User.select(User.id, User.chinesename) 
    print 'test' 
    names = [user.chinesename for user in query] 
    for user in query: 
     print user.chinesename 
    u = User.get(User.username == 'lc') 
    print u.chinesename 
    return u.chinesename 

und hier ist ein Screenshot

[enter image description here][1] 
[enter image description here][2] 
[enter image description here][3] 


    [1]: https://i.stack.imgur.com/tWLYo.jpg 
    [2]: https://i.stack.imgur.com/ldBRV.jpg 
    [3]: https://i.stack.imgur.com/f0Tb7.jpg 

und es scheint, als ich meine Webapp betreibe ich meine lokalen Datenbank keine Verbindung herstellen können.

+0

setzen vollständige Fehlermeldung statt des Bildes. Volle Nachricht - nicht nur '' auf solchem ​​Tisch: Benutzer '' - weil es andere nützliche imformation geben kann - dh. Welche Linie macht ein Problem? – furas

Antwort

0

Sie können hilfreich sein, wenn Sie Ihre Modelldefinitionen oder das vollständige Traceback freigegeben haben. Ehrlich gesagt, haben Sie so viel Aufwand durchgemacht, aber Sie haben vergessen, die tatsächlich nützliche Informationen aufzunehmen.

Zum einen versuchen, in Ihrem User-Modell umzubenennen in „Benutzer“:

class User(db.Model): 
    username = CharField() 
    # etc, other fields 
    class Meta: 
     db_table = 'users' 
Verwandte Themen