如何在Django中建立这种关系?

时间:2012-12-16 21:41:13

标签: python django

我正在尝试建立一个模型,并且正在努力解决如何处理特定关系的问题。有两个对象;人员,姓名,电子邮件地址等,以及体育,姓名,地点等。

我的关系是一个单独的对象,可以将玩家映射到运动。还有一个额外的字段用于特定于该运动的玩家信息。我希望有另一种关系,指定一个(可选)人,它是运动员的代理人。

代理人将使指定的人能够充当玩家(可能在一段有限的时间内)。例如,假设玩家A正在管理足球并且正在休假两周。他们希望一个人代表他们行事,发送通知,通知其他玩家游戏等等。

在SQL中,我有一个包含player_idsport_id和另一个player_id字段的表格,该字段可以为空(以及过期日期和其他字段)

我似乎无法弄清楚如何在Django模型中指定它。这是我到目前为止所做的:

"""Indicates people who are registered for a type of event.

They can have a unique nickname for each event, if desired.
In addition, they can select a proxy for them, who can act in
thier behalf for this event."""

nickname = models.CharField(max_length=30)
event_type = models.ForeignKey(EventType, related_name='+')
person = models.ForeignKey(Person, related_name='+')
proxy = models.OneToOneField(Person, related_name='+') # ?????
proxy_expires = models.DateField(null=True, blank=True)

这似乎使代理成为必填字段,这不是我想要的。关于我如何使用代理的约束是可选的建议,每个人每个运动一个代理。

谢谢!

0 个答案:

没有答案