我有一个用于在游戏中安排玩家的模型,我希望调度程序能够跟踪名单的大小和其他属性。
我已经创建了一些自定义验证,当名单规则被违反时(例如,计划的球员太多或太少),它们运作得相当好。但我也希望在名单不违反规则时提供反馈。
我一直在尝试以各种方式使用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 :(得分: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)