让我说我有一个模特
class Entity(models.Model)
count = models.IntegerField()'
问题:django中是否有字段类型可以帮助我在任何时候采取行动时增加计数值。我目前正在考虑每次更新价值。但我觉得这可能效率不高,因为这涉及到读取当前值然后增加一个
答案 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