我有一个带有字段计数器的Django模型。每次调用列表视图时,我都想更新此字段,将其递增1。我正在尝试使用F表达式来做到这一点。根据此处以及django文档的其他问题,类似这样的方法应该可以解决问题:
我的模型:
class Job(models.Model):
skills = models.TextField(blank=False, default="Skills")
counter = models.IntegerField(default=0)
我的观点:
class ListJobView(ListView):
model = Job
context_object_name = 'jobs'
template_name = 'list_jobs.html'
ordering = '-pub_date'
# paginate_by = 1
def increment_counter(self):
count = Job.objects.get_or_create(id=66)
count.counter = F('counter') + 1
count.save(update_fields=["counter"])
不幸的是,这不起作用。我做错了什么吗?
此外,我想为每个作业更新所有计数器。但是count = Job.objects.all()
也不起作用。
有什么建议或提示吗?那就太好了,谢谢!!