вы можете создать общую модель Hit
class Hit(models.Model):
date = models.DateTimeFiles(auto_now=True)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
в вашем view.py вы пишете эту функцию:
def render_to_response_hit_count(request,template_path,keys,response):
for key in keys:
for i in response[key]:
Hit(content_object=i).save()
return render_to_response(template_path, response)
и интересующие вас взгляды возвращаются
return render_to_response_hit_count(request, 'map/list.html',['list',],
{
'list': l,
})
Этот подход дает вам возможность не только рассчитывать попадания, но и фильтровать историю обращений по времени, типу контента и т. Д. *
Поскольку таблица попаданий может быстро расти, вам следует подумать о стратегии удаления.