Есть две модели:
class Round(models.Model):
round = models.IntegerField(verbose_name=_(u'Round'))
class Match(models.Model):
RESULT_CHOICES = (
(0, _(u'Waiting for game')),
(1, _(u'First player winner')),
(2, _(u'Second player winner')),
(3, _(u'Draw')),
)
round = models.ForeignKey(Round)
result = models.IntegerField(verbose_name=_(u'Result'), default=0,
choices=RESULT_CHOICES)
is_close = models.BooleanField(default=False, editable=False)
Добавляем admin.py
class MatchInline(admin.StackedInline):
model = Match
extra = 0
class RoundAdmin(admin.ModelAdmin):
inlines = [MatchInline]
def save_model(self, request, obj, form, change):
for match in obj.match_set.all():
print match.is_close, match.result
if not match.is_close and match.result != 0:
match.is_close = True
match.save()
obj.save()
Ситуация такая, выставляю в админке значение поля result отличное от 0, сохраняю. Мое сохранение не срабатывает т.к. match_set еще не сохранен и конечно же при повторном сохранение все сработает как надо, но нужно с первого.. Не могу разобраться как это сделать.