Flask - 查询现有数据库

时间:2014-08-10 16:40:03

标签: flask flask-sqlalchemy

我尝试使用从预先存在的postgresql数据库列出城市的应用程序。 到目前为止,我可以连接到数据库并进行查询,但结果将返回u' string',

这是我的models.py

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class Woonplaats(Base):
    __tablename__ = 'woonplaats'

    gid = Column(Integer, primary_key=True)
    woonplaatsnaam = Column(String(80))

    def __init__(self, woonplaatsnaam=None):
        self.woonplaatsnaam = woonplaatsnaam

    def __repr__(self):
        return  '%r' % (self.woonplaatsnaam)

和views.py

from flask import render_template, request
from app import app
from app import db
from app.models import Woonplaats

@app.route('/citylist')
def citylist():
    results = db.session.query(Woonplaats).all()
    print(results) #only for test
    return render_template('city.html', results = results)

1 个答案:

答案 0 :(得分:2)

如果没有__str__(或__unicode__),系统会使用__repr____repr__。打印出查询集时,最终会打印woonplaatsnaam列的__str__。要改为打印出列的值,请添加__unicode__(或def __str__(self): return self.woonplaatsnaam # for Python 2.x def __unicode__(self): return self.woonplaatsnaam )方法。

{{1}}