设想
玩家参加活动。他们应该提供是否要参加活动的信息。
待解决的问题
如果他们计划参加特定活动,我想选择尚未提供信息的玩家。
你的目标
作为所用技术的初学者,我将感谢您的验证和建议,以改进我在下面建议的解决方案。
解决方案
技术: python、postgreSQL 和 Pony ORM
Pony ORM 中的实体模型:
class Event(db.Entity):
_table_ = "event"
start = Required(date)
players = Set("Attendance")
class Player(db.Entity):
_table_ = "player"
first_name = Optional(str)
last_name = Required(str)
phone_number = Required(str)
email = Required(str)
events = Set("Attendance")
class Attendance(db.Entity):
_table_ = "attendance"
event = Required(Event)
player = Required(Player)
status = Required(bool)
PrimaryKey(event, player)
主意:
- 获取参加活动时提供信息的玩家列表
- 获取不在 1 中创建的列表中的玩家列表。
该想法的当前实现:
players = select(p for p in Player if p not in select(p for p in Player
for a in Attendance if p == a.player and a.event == next_event))