Здравствуйте, есть такой вопрос, у меня есть две модели
class Player(models.Model):
fname = models.CharField(max_length = 50)
lname = models.CharField(max_length = 50)
elo = models.IntegerField(max_length = 10)
def __unicode__(self):
return '%s %s' % (self.fname, self.lname)
class Party(models.Model):
players = models.ManyToManyField(Player, related_name = 'pl')
winner = models.ForeignKey(Player, related_name = 'win')
def __unicode__(self):
return '%s' % (self.winner.fname)
как мне сделать следующий функционал. Смысл такой что когда я нажимаю на save в форме по сохранению Party мне надо сохранить данные а так же взять его request что бы оттуда взять id игроков, обработать их и сделать абдэйт модели Players. save_model не подходит, я решил взять save_related все бы ничего но он не сохраняет связь many to many, подскажите, как мне можно решить эту проблему.Вот пример моего вида
from django.contrib import admin
from chess_tourn.models import Player, Party
from django.http import QueryDict
from django.db.models.signals import post_save
class PlayerAdmin(admin.ModelAdmin):
list_display = ('fname', 'lname', 'elo')
search_fields = ('fname', 'lname')
class PartyAdmin(admin.ModelAdmin):
def save_related(self, request, obj, form, change):
print "Hello"
res = request.POST.getlist('players')
one_player = res[0]
two_player = res[1]
winner = request.POST['winner']
#player = Player.objects.get(id = res[0])
#player.elo = '333'
#player.save()
print "one_player " + one_player
print "---------"
print "two_player " + two_player
print "winner " + winner
list_display = ('winner',)
filter_horizontal = ('players',)
admin.site.register(Player, PlayerAdmin)
admin.site.register(Party, PartyAdmin)
Updated 17 Dec. 2012, 4:43 by vdf.