我有兩個與ManyToMany關係的模型。下面是代碼:保存()在ManyToMany關係
class Player(models.Model):
first_name = models.CharField(max_length = 30, verbose_name = u"First name")
last_name = models.CharField(max_length = 50, verbose_name = u"Last name")
def __unicode__(self):
return "%s %s" % (self.last_name, self.first_name)
class Tournament(models.Model):
title = models.CharField(max_length = 100, verbose_name = u"Tournament's title")
players = models.ManyToManyField(Player,verbose_name = u"Tournament's players")
def __unicode__(self):
return self.title
def save(self, **kwargs):
Tournament(title = self.title)
all_players = Player.objects.all()
for member in all_players:
member_of_tournament = member.tournament_set.filter(title = self.title)
for j in member_of_tournament:
print member.tournament_set.filter(title = self.title)
self.players.add(member)
super(Tournament, self).save(**kwargs)
當我保存錦標賽首次將其保存的標題。但是當我下次節省時,它也可以節省玩家並將他們與錦標賽聯繫起來。我怎樣才能在錦標賽的同時保存它們?
因爲當你在做member_of_tournament = member.tournament_set.filter(title = self.title)的時候,第一次沒有保存對象。你可以嘗試移動超級(錦標賽,自我).save(** kwargs)以上for循環。 – Mutant
我已經試過了。沒有幫助。 –