2016-11-12 6 views
0

私はフラスコ錬金術を使用して、私のデータベースからのクエリの後にJSONデータを返すようにしよう、とフラスコマシュマロフラスコ錬金術は、空のJSON

ていますが、しかし、私のコードは、何らかの形で常に空のJSONデータを返します。

ここに私のコードです:

マイビュー:

@app.route('/customer/', methods=['GET']) 
def get_customer(): 
    customers = models.Customer.query.all() 
    #c = models.Customer.query.get(1) # Get Customer with an ID of 1 

    customers_schema = CustomerSchema() 

    print customers_schema.dump(customers).data 
    payload = customers_schema.dump(customers).data 
    resp = Response(response=payload, status=200, mimetype="application/json") 
    return(resp) 

マイモデル:

class Customer(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    nickname = db.Column(db.String(64), index=True, unique=True) 
    email = db.Column(db.String(120), index=True, unique=True) 
    address = db.relationship('Address', backref='customer', lazy='dynamic') 

    def __repr__(self): 
     return '<Customer %r>' % (self.nickname) 

マイスキーマ:

class CustomerSchema(ma.ModelSchema): 
    class Meta: 
     model = Customer 

から見てこれが結果ですコンソール:

* Debugger is active! 
* Debugger pin code: 817-774-044 
{} 
127.0.0.1 - - [12/Nov/2016 09:37:59] "GET /customer/ HTTP/1.1" 200 - 
{} 
127.0.0.1 - - [12/Nov/2016 09:41:27] "GET /customer/ HTTP/1.1" 200 - 

私が見逃すものはありますか?誰も助けることができますか?

答えて

0

シリアル化中にエラーが発生している可能性があります。無視するだけです。 strict=Trueでスキーマをインスタンス化して、そこにあるエラーを確認してください:

customers_schema = CustomerSchema(strict=True)

関連する問題