这似乎是一个真正的初学者问题,但我很难找到一个简单的答案。我已经用一个简单的数据模型表示一对多关系将其简化为简单的骨架:
class Room(db.Model):
__tablename__ = 'rooms'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128), unique=True)
capacity = db.Column(db.Integer)
events = db.relationship('Event', backref='room')
class Event(db.Model):
__tablename__ = 'counts'
id = db.Column(db.Integer, primary_key=True)
unusedCapacity = db.Column(db.Integer)
attendance = db.Column(db.Integer)
room_id = db.Column(db.Integer, db.ForeignKey('rooms.id'))
Event.unusedCapacity计算为Room.capacity - Event.attendance,但我需要将值存储在列中 -Room.capacity可能会随时间变化,但Event.unusedCapacity需要反映事件发生时实际未使用的容量。
我目前正在查询房间,然后创建事件:
room = Room.query.get(room_id) # using Flask sqlAlchemy
event = event(unusedCapacity = room.capacity - attendance, ...etc)
我的问题是:有没有一种更有效的方法可以一步做到这一点?
相关分类