我有一个Generic ListView,我的html列表中的每个项目都链接到DetailView。
现在我想在每次点击时增加MyModel(DetailView)对象“views”-field(integerfield)。
我在DetailView中看到的所有东西都是get_context_data?那么如何更新我的模型呢?
n.b。大声思考,这应该是中间件功能吗?
修改 好吧,好像我确实有get_object和get_queryset可用但是那些是空的(打印kwargs)..也更新上下文数据中的整数字段(看起来很丑陋和不需要的)一次点击运行3次(3,6,9等)< / p>
答案 0 :(得分:1)
您确实可以在get_object方法中执行此操作,如下所示:
class YourView(DetailView):
queryset = YourModel.objects.all()
def get_object(self):
object = super(YourView, self).get_object()
object.views = object.views + 1
object.save()
return object