2016-06-13 71 views
0

我想返回JSON甚至返回一個完整的字符串到許多sqlalchemy查詢。我使用的棉花糖在這一點上嘗試做,但它一直返回不完全的數據SqlAlchemy的關係和棉花糖

,因爲我有兩個型號定義:

class UserModel(db.Model): 
    __tablename__ = 'usermodel' 
    id = db.Column(db.Integer, primary_key=True) 
    username = db.Column(db.String(80), unique=True) 
    password = db.Column(db.String(120)) 
    weekday = db.relationship('weekDay', cascade='all,delete-orphan', single_parent=True, backref=db.backref('usermodel', lazy='joined')) 

class weekDay(db.Model): 
    __tablename__ = 'weekday' 
    id = db.Column(db.Integer, primary_key=True) 
    #Defining the Foreign Key on the Child Table 
    dayname = db.Column(db.String(15)) 
    usermodel_id = db.Column(db.Integer, db.ForeignKey('usermodel.id')) 

我已經定義了兩個模式

class WeekdaySchema(Schema): 
    id = fields.Int(dump_only=True) 
    dayname = fields.Str() 

class UserSchema(Schema): 
    id = fields.Int(dump_only=True) 
    username = fields.Str() 
    password = fields.Str() 
    weekday = fields.Nested(WeekdaySchema) 

最後我運行命令(我通過userName變量中的名稱)

userlist = UserModel.query.filter_by(parentuser=userName).all() 
full_schema = UserSchema(many=True) 
result, errors = full_schema.dump(userlist) 
print (result) 

我打印結果LT看之前,我試圖Jsonify它: 我平日對象完全是空的

'weekday': {} 

隱而不宣有誰知道我能做到這一點正確

回答

1

這是一個一對多的關係,必須指明它在UserSchema,像

class UserSchema(Schema): 
    id = fields.Int(dump_only=True) 
    username = fields.Str() 
    password = fields.Str() 
    weekday = fields.Nested(WeekdaySchema, many=True) 

閱讀更多關於documentation

+0

非常感謝你,是整理出我的問題 – Zee18