我知道,這類問題至少在這裏被問過很多次,但是我從django開始,並且我很難從類似的問題中應用解決方案,只是把這個問題東西在一起。有關係的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)
????
一個Battle
在兩個Guilds
之間的戰爭和Tournament
期間發生。在Tournament
中可以有許多Battles
。 A Guild
可以參加幾個Tournaments
。
我希望能夠通過公會進行搜索(參加他們參加過的每場錦標賽的每場戰役),通過錦標賽查看已經進行了哪些戰鬥,以及我想通過錦標賽進入看看哪些公會參加過。請問上面的代碼(加上我指出的行)的工作,因爲我覺得也許錦標賽類應該參考戰鬥?另外,如果你可以給出一個查詢的例子,該查詢將採用參加給定錦標賽的所有公會的名字。
很光滑,謝謝!我也試圖讓所有公會的名字都與特定的公會作戰。換句話說,一個行會和行會本身的所有對手。我編碼了這個,但是我只得到了公會id而不是名字:'Battle.objects.filter(Q(guild1 = g)| Q(guild2 = g))。values_list('guild1','guild2')。distinct()' 。你能提出一個建議嗎? – nutship