2016-06-13 75 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