django中的计数字段?

时间:2014-10-09 18:08:22

标签: python django

让我说我有一个模特

class Entity(models.Model)
    count = models.IntegerField()'

问题:django中是否有字段类型可以帮助我在任何时候采取行动时增加计数值。我目前正在考虑每次更新价值。但我觉得这可能效率不高,因为这涉及到读取当前值然后增加一个

1 个答案:

答案 0 :(得分:3)

我不确定是否有任何模型字段可以提供帮助,但您可以使用F()-expression阻止额外的数据库操作:

# Given this model class:
class Entity(models.Model):
    count = models.IntegerField()

# Increment like this:
entity_qs = Entity.objects.filter(pk=some_pk)     # Note: This does not fetch!
entity_qs.update(count=F('count')+1)              # Single SQL update statement