我正试图设计一个应用程序的模型,允许2人互相打赌(我知道,听起来很愚蠢......)。我想知道的是如何将赌注与用户连接起来。该结构是这样的django设计模型结构
|-------------| |----------|
| Bet | | User |
| BetUser1 | |----------|
| BetUser2 |
| Winner |
| ... |
|-------------|
所以我们用了2人,与对方打赌(均为Users
从Django的身份验证系统),然后其中一人获胜后,有一个赢家。现在,所有这3个领域是User
类型,但:
- 我应该BetUser1和BetUser2独立的领域,或在这里设计一些许多对二的关系? (其中多到二为多对多,并且有一些外部方式可以确保每个投注都不会分配2
Users
? - 赢家只能是用户1或用户2,其他人当然,我应该如何创建这个领域,另一个
ForeignKey(User)
,或者一些别的吗?
只是在寻找的观点一些新鲜的点,因为它似乎在这样的情况下,愚蠢的我卡与Django的模型系统。
这需要一个约束来限制它为同一个Bet的两个Wager实例。我建议添加一个方法来检查这个,并且在有人试图为给定的投注保存第三个投注时引发异常。 – 2008-10-31 13:44:26