1
可以說,我有一個模型django中的計數字段?
class Entity(models.Model)
count = models.IntegerField()'
問:是否有在Django,可以幫助我提高計數隨時採取行動的值的字段類型。我目前正在考慮每次更新這個值。但我覺得這可能不是有效的,因爲這涉及讀取當前值然後增加一個
可以說,我有一個模型django中的計數字段?
class Entity(models.Model)
count = models.IntegerField()'
問:是否有在Django,可以幫助我提高計數隨時採取行動的值的字段類型。我目前正在考慮每次更新這個值。但我覺得這可能不是有效的,因爲這涉及讀取當前值然後增加一個
我不確定是否有任何模型字段可以幫助,但是您可以使用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
非常感謝,這真的很有幫助 – acquayefrank 2014-10-09 18:59:07
您可以使用F() - 表達式(見https://docs.djangoproject.com/en/1.7/ref/models/queries/#django.db.models.F)至少防止額外的讀取操作。 – 2014-10-09 18:11:53