この種の質問はここで少なくとも何度も尋ねられていますが、私はdjangoから始めたばかりで、同様の質問からの解決策を適用してこれらをまとめるのに苦労しています.
私のモデルには3つのクラスが必要だと思います:
class Guild(models.Model):
name = models.CharField(max_length=50)
class Battle(models.Model):
guild1 = models.ForeignKey(Guild, related_name="guild_one")
guild2 = models.ForeignKey(Guild, related_name="guild_two")
# tournament = models.ForeignKey(Tournament) ???
class Tournament(models.Model):
name = models.CharField(max_length=50)
????
ABattle
は 2 つの間の戦争であり、 A の間Guilds
に発生しTournament
ます。には多くの可能性がありBattles
ますTournament
。A.Guild
複数参加可能Tournaments
です。
ギルドごとに検索したり (参加したすべてのトーナメントから、すべてのバトルを確認したり)、トーナメントごとにどのバトルが行われたかを確認したり、トーナメントからアクセスしてどのギルドを確認したりしたいですか?参加したことがあります。おそらく Tournament クラスは Battle への参照を持つべきだと思うので、上記のコード (および私がコメントした行) は機能しますか?
また、特定のトーナメントに参加したすべてのギルドの名前を取得するクエリの例を挙げることができれば.