私は、2 人が互いに賭けることができるアプリケーションのモデルを設計しようとしています (私は知っています、ばかげているように聞こえます...)。気になるのは、どうやって賭けをユーザーにつなげていくか。構造はこんな感じ
|-------------| |----------|
| Bet | | User |
| BetUser1 | |----------|
| BetUser2 |
| Winner |
| ... |
|-------------|
それで、お互いに賭けた2人がいて(どちらもUsers
django認証システムからのものです)、そのうちの1人が勝った後、勝者がいます。現在、これら 3 つのフィールドはすべて typeUser
ですが、次のようになります。
- BetUser1 と BetUser2 を別々のフィールドにするか、多対 2 の関係を設計する必要がありますか? (多対2は多対多であり、
Users
各賭けに2つ以上を割り当てることができないことを保証する外部の方法がありますか? - 勝者はユーザー 1 またはユーザー 2 のいずれかのみであり、もちろん他の誰でもありません。このフィールド、さらに別のフィールド、または他のフィールドを作成するにはどうすればよい
ForeignKey(User)
ですか?
このような愚かなケースでは、djangoモデルシステムにこだわっているように見えるので、新鮮な視点を探しています。