Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django中的计数字段?_Python_Django - Fatal编程技术网

Python django中的计数字段?

Python django中的计数字段?,python,django,Python,Django,假设我有一个模型 class Entity(models.Model) count = models.IntegerField()' 问:django中是否有一种字段类型可以帮助我在执行操作时增加count的值。我目前正在考虑每次更新值。但我觉得这可能不太有效,因为这涉及到读取当前值,然后再增加一个我不确定是否有任何模型字段会有所帮助,但您可以使用以下方法防止额外的数据库操作: 您可以使用F()表达式(请参阅)来至少防止额外的读取操作。非常感谢,这非常有用 # Given this m

假设我有一个模型

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

问:django中是否有一种字段类型可以帮助我在执行操作时增加count的值。我目前正在考虑每次更新值。但我觉得这可能不太有效,因为这涉及到读取当前值,然后再增加一个

我不确定是否有任何模型字段会有所帮助,但您可以使用以下方法防止额外的数据库操作:


您可以使用F()表达式(请参阅)来至少防止额外的读取操作。非常感谢,这非常有用
# 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