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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

django常用的模型字段类型和常用的查询

發布時間:2024/10/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django常用的模型字段类型和常用的查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • IntegerField : 整型,映射到數據庫中的int類型。
  • CharField: 字符類型,映射到數據庫中的varchar類型,通過max_length指定最大長度。
  • TextField: 文本類型,映射到數據庫中的text類型。
  • BooleanField: 布爾類型,映射到數據庫中的tinyint類型,在使用的時候,傳遞True/False進去。如果要可以為空,則用NullBooleanField。
  • DateField: 日期類型,沒有時間。映射到數據庫中是date類型,
    在使用的時候,可以設置DateField.auto_now每次保存對象時,自動設置該字段為當前時間。設置DateField.auto_now_add當對象第一次被創建時自動設置當前時間。
  • DateTimeField: 日期時間類型。映射到數據庫中的是datetime類型,
    在使用的時候,傳遞datetime.datetime()進去。
  • 例子理解

    執行生成映射文件的命令后,查看數據表

    Field字段常用的參數

    • primary_key: 指定是否為主鍵。
    • unique: 指定是否唯一。
    • null: 指定是否為空,默認為False。
    • blank: 等于True時form表單驗證時可以為空,默認為False。
    • default: 設置默認值。
    • DateField.auto_now: 每次修改都會將當前時間更新進去,只有調用,QuerySet.update方法將不會調用。這個參數只是Date和DateTime以及TimModel.save()方法才會調用e類才有的。
    • DateField.auto_now_add: 第一次添加進去,都會將當前時間設置進去。以后修改,不會修改這個值

    對于CharField必須設置 max_length

    常用的查詢方法:


    常用的查詢條件:

    • first() 獲取第一條 返回的是對象
      • last() 獲取最后一條 返回的也是一個對象
        思考:排序規則? 默認通過主鍵。通過_meta 設置

      • get(**kwargs) 根據給定的條件,獲取一個對象,如果有多個對象符合,保存

      • all() 獲取所有記錄 返回的是queryset

      • filter(**kwargs) 根據給定的條件,獲取一個過濾后的queryset,多個條件使用and連接。

      • exclude(**kwargs) 跟filter使用方法一致,作用想反,它是排除。

      • 多條件的OR連接 用到Q對象,django.db.models.Q

      • values(*fields) 返回一個queryset,返回一個字典列表,而不是數據對象。

      • only(*fiels) 返回querySet ,對象列表,注意only一定包含主鍵字段

      • defer(*fields) 返回一個QuerySet,作用和only相反

      • order_by(*fields) 根據給定的字段來排序 默認是順序,字段名前加上 ‘-’代表反序

      • 切片 和python的列表切片用法相似,不支持負索引,數據量大時不用步長
        *** 切片過后,不再支持,附加過濾條件與排序

    • 常用查詢條件 filter,exclude, get
      • exact
      • iexact
      • contains
      • icontains
      • in
      • range
      • gt
      • gte
      • lt
      • lte
      • startswith
      • istartswith
      • endswith
      • iendswith
      • isnull True False 對應 IS NULL IS NOT NULL
    • 聚合
      from django.db.models import Count, Avg, Max, Min, Sum
      通過queryset的aggregate方法
      Student.objects.aggregate(age_avg=Avg(‘age’)) # 計算平均年齡
      • count
      • 平均值 Avg

    總結

    以上是生活随笔為你收集整理的django常用的模型字段类型和常用的查询的全部內容,希望文章能夠幫你解決所遇到的問題。

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