一对多关系查询

时间:2020-04-30 13:16:11

标签: python flask sqlalchemy flask-sqlalchemy

我有两个表,它们之间的关系是一对多的

class User (db.Model):
    __tablename__ = 'user_model'
    id = db.Column(db.Integer, primary_key=True)
    name =  db.Column(db.String(50), nullable = False)
    messages = db.relationship ('Message' , cascade = 'all,delete', backref = 'user_model' , lazy = True)
class Message (db.Model):
    __tablename__ = 'message_model'
    id = db.Column(db.Integer, primary_key=True)
    context =  db.Column(db.Text, nullable = False)
    user_id = db.Column(db.Integer, db.ForeignKey('user_model.id'))

假设有一个特定的用户(ID = 1的用户),我想检索与此用户相关的所有消息,并且消息长度小于50。
我该怎么办?
像这样:

user = User.query.get (1)
messages_less_than_50 = user.messages.query.filter (len (Message.context) < 50)

我可以查询user.messages吗?

0 个答案:

没有答案