0

我有一个用于在游戏中调度玩家的模型,我希望调度器能够跟踪花名册的大小和其他属性。

我创建了一些自定义验证,当违反名册规则时(即,安排的球员太多或太少),效果相当好。但我也想在名册不违反规则时提供反馈。

我一直在尝试以各种方式使用 message_user 插入消息。我最接近成功的是:

def save_model(self, request, obj, form, change):
    obj.save()
    count = obj.players.count()
    self.message_user(request,"Players scheduled: %s" % count)

问题是在第一次单击“保存”或“保存并继续编辑”时,反馈消息没有更新到正确的计数。用户必须再次单击才能获得当前计数。

也许 save_model 方法不是最好的方法,但我尝试了其他几个方法(queryset、change_view),但成功率更低。

有任何想法吗?

4

1 回答 1

0

解决了。在 obj.save() 之后添加了 form.save_m2m()。

def save_model(self, request, obj, form, change):
    obj.save()
    form.save_m2m()
    count = obj.players.count()
    self.message_user(request,"Players scheduled: %s" % count)
于 2013-01-19T15:58:23.567 回答