日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django(part28)--F对象

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django(part28)--F对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記,僅供參考


F對象


在Django中F是指一個類,我們可以通過這個類創建一個對象。

一個F對象代表數據庫中某個字段(列)的信息,F對象通常是對數據庫中的字段值在不加載到內存中的情況下直接在數據庫服務器端進行操作。F對象在數據包 django.db.models 中,當我們使用時,需要通過如下語句進行加載:

from django.db.models import F
  • 作用

在執行過程中獲取某列的值,并對其直接進行操作;

在同時比較數據庫中兩個字段的值時,也可以使用F對象。


  • 語法
from django.db.models import F F('列名')
  • 舉個例子1

現在,我們要將所有作者的年齡加1.

在Django shell中輸入如下命令:

In [30]: models.Author.objects.all().update(age=F('age')+1) Out[30]: 5

我們再看看數據表

mysql> select * from bookstore_author; +----+--------+-----+----------------------+ | id | name | age | email | +----+--------+-----+----------------------+ | 1 | 山羊 | 20 | goatbishop@gamil.com | | 2 | 小黃 | 11 | 1033794241@qq.com | | 5 | 小黑 | 13 | xiaohei@gmail.com | | 6 | 小白 | 19 | xiaobai@gmail.com | | 7 | 山羊哥 | 28 | biggoat@gmail.com | +----+--------+-----+----------------------+ 5 rows in set (0.00 sec)

很好,年齡都加1了。


  • 舉個例子2

現在,我篩選出出廠價exfacPrice小于零售價price的記錄。

我們先看一下bookstore_book數據表:

mysql> select * from bookstore_book; +----+-------------------+----------------+------------+-------+ | id | title | pub | exfacPrice | price | +----+-------------------+----------------+------------+-------+ | 1 | Djangoweb開發實戰 | 清華大學出版社 | 35.00 | 40.00 | | 2 | python | 機械工業出版社 | 35.00 | 40.00 | | 3 | R | 人民郵電出版社 | 35.00 | 40.00 | | 4 | 數據處理 | 清華大學出版社 | 45.00 | 40.00 | | 5 | 算法 | 人民郵電出版社 | 45.00 | 30.00 | | 6 | 小黃 | 黑山羊出版社 | 45.00 | 30.00 | +----+-------------------+----------------+------------+-------+ 6 rows in set (0.00 sec)

在Django shell中輸入如下命令:

books = models.Book.objects.filter(price__gt=F('exfacPrice')) for book in books:print(book.title, '出廠價:', book.exfacPrice, '零售價:', book.price)

輸出:

Djangoweb開發實戰 出廠價: 35.00 零售價: 40.00 python 出廠價: 35.00 零售價: 40.00 R 出廠價: 35.00 零售價: 40.00

總結

以上是生活随笔為你收集整理的Django(part28)--F对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。