2013-01-19 65 views
0

我有一个模型用于安排游戏中的玩家,其中我希望计划程序能够跟踪名单的大小和其他属性。如何在Django管理员中生成用户反馈?

我已经创建了一些自定义验证,当名单规则被违反时(即排名太多或太少的球员),它的工作得相当好。但是我也想在名单不违反规则时提供反馈。

我一直在尝试以各种方式插入带有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),但成功率更低。

任何想法?

回答

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)