django F() 函数

F()函数的优点先从下面的例子说起吧。

例子1

reporter = Reporters.objects.get(name='Tintin')
reporter.stories_filed += 1
reporter.save()

例子2

from django.db.models import F
reporter = Reporters.objects.get(name='Tintin')
reporter.stories_filed = F('stories_filed') + 1
reporter.save()

两个程序的功能是为了计数(或减数)

例子1中的写法,应该是比较常见的。它的工作原理是,将对象从数据库中查出来放到内存中,然后计数,再存入到数据库中。

例子2中的工作原理是,直接在数据库中查出数据,计数后更改数据库。

这样的话,请求的响应速度就显而易见了。优化之路,任重而道远。

Ps:from django.db.models * 中有好多自带方法,一定要会常用的。

你可能感兴趣的:(django F() 函数)