亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 筆記test

    查看全部
  • 不返回queryAPI

    1.獲取對象get(),get_or_create(),frist(),last(),latest(),earliest(),in_bulk()

    2.創建對象create(),bulk_create(),create_or_updata()創建,批量創建,創建或更新

    3.更新對象updata()updata_or_create()更新,更新或創建

    4.刪除對象delete()使用filte過濾

    5其他操作exists(),count(),aggrrgate()判斷是否存在,統計個數,聚合

    查看全部
  • 返回新的queryset得api:

    exclude()根據條件排除一些記錄Student.objects.all().exclude(name='a')

    reverse()反向排序必須在模型類對應的元數據設置排序Student.objects.all().exclude(name='a').reverse()

    distinct()去重

    extra()實現字段別名

    defer()排除一些字段

    only()選擇一些字段

    valus(),valus_list()獲取字典或元組形式得queryset

    datas(),datatimes()根據時間日期獲取查詢集

    union(),intersection(),difference()并集,交集,差集

    select_relate()一對一多對一查詢優化

    prefetch_related()一對多,多對多查詢優化;反向查詢

    annotate()使用聚合函數、求和、平均數 raw ()執行原生sql

    course.objects,values('teacher').annotatea(avg = Avg'字段名')

    查看全部
  • 查詢集介紹:

    查詢、檢索、過濾

    teacher = Teacher.objects.all()

    teacher = Teacher.objects.get(主鍵、唯一鍵)返回一條結果

    teacher = Teacher.objects.filter(fans__gte =) 返回多條結果 字段數據匹配大小寫敏感 (fans__gte =大于等于、fans__exact剛好等于、fans__gt大于、fans__in在某某之內 、fans__isnull是否為空、fans__lt小于、fans__lte小于等于、fans__range在某某范圍之內、、、、)

    結果切片、排序、鏈式查詢

    Teacher.Object.all()[:1]

    Teacher.Object.all().order_by('fans')/('-fans')

    Teacher.Object.filter(fans__get).order_by('nickname')

    查看執行的原生sql:

    str(語句例如Teacher.Object.filter(fans__get).order_by('nickname').query)



    查看全部
    0 采集 收起 來源:查詢集介紹

    2019-06-04

  • 自增長字段,默認int,Auto = models.AutoFileld()

    bigAuto?= models.bigAutoFileld()

    二進制數據:Binary = models.BinaryField()

    布爾型:Boollean = models.BooleanField()

    NullBoolean = models.NullBooleanField()

    整型:5個字節:PositiveSmallInteger = models.PositiveSmallIntegerField()

    6個字節:SmallInteger = models.SmallIntegerField()

    10個字節:PositiveInteger = models.PositiveIntegerField()

    11個字節:Integer = models.IntegerField()

    20個字節:BigInteger = models.BigIntegerField()

    字符串:varchar:Char = models.CharField()

    longtext:Text?= models.TextField()


    時間日期:Data = models.DataField()? 年月日

    DataTime = models.DataTimeField()? 年月日時分秒

    Duration = models.DurationField()? int


    浮點型:Float = FloatField()

    Decimal = model.DecimalField()


    其他字段:

    Email = models.EmailField()

    Image = models.ImageField()

    File = models.FileField()

    FilePath = models.FilePathField()

    Url = models.UrlField()

    UUID = models.UUIDField()

    GenericIPAddress = models.GenericIPAddressField()


    查看全部
    2 采集 收起 來源:常用的字段

    2019-06-04

    • F對象: 操作字段的數據

      • Course.objects.update(price=F('price') - 11) # 所有課程價格減11

      • Course.objects.filter(volume__lte=F('price') * 10)) # 查詢課程價格的10倍小于銷量的課程

    • Q對象: 結合AND, OR, NOT, |, ~, &實現復雜的查詢

      • Couse.objects.filter(Q(title__icontains='java') & Q(volume__gte=5000)) # 查詢銷量大于等于5000的java課程

    查看全部
  • select_related和prefetch_related保證在查詢對象集合的時候,把指定的外鍵對象也一并完整查詢加載,避免后續的重復查詢

    • select_related適用于外鍵多對一的關系查詢

    • prefetch_related適用于一對多或者多對多的查詢


    查看全部
  • 向數據表中導入數據的三種方式:

    1. django shell: python manage.py shell => from courses.teacher import Teacher => t = Teacher(nickname="jack")=>t.save()

    2. 通過腳本導入數據(見截圖)

      1. Teacher.objects.create(nickname="Jack", introduction="Python工程師", fans=123)

      2. Course.object.bulk_create([Course(title="Python系列教程(1)", teacher=Teacher.objects.get(nickname="Jack"), type=.....)])

      3. Student.objetcs.update_or_create(nickname="ABC", default={"age": 18, "gender": 2, "study_time": 0})

      4. TeacherAssistant.objects.get_or_create(nickname="助教1", default={"hubby":? "慕課網學習", "teacher": Teacher.objects.get(nickname="Jack")})

      5. 關聯外鍵:

        1. 正向添加: Student.objects.get(nickname="ABC").course.add(*Course.objects.filter(volume__gte=1000)) # ABC學生關聯到銷量大于1000的課程

        2. 反向添加: Course.objetcs.get(title="Python系列教程2").student_set.add(*Student.objetcs.filter(study_time__gte=500)) #關聯到學習時間大于500小時的同學

    3. fixtures Django Serialization:提供一種可以被Django的Serialization識別的json格式的文件

      1. 導出數據: python manage.py dumpdata > xxxx.json

      2. 導入數據: python manage.py loaddata xxxx.json

    查看全部
    0 采集 收起 來源:Django數據導入

    2019-05-18

    • 刪除一個模型類的步驟

    1. 刪除模型類代碼

    2. 刪除模型類在migrations目錄下生成的對應文件

    3. 刪除django在數據表migrations中對應的生成記錄

    4. 刪除對應的數據表

    查看全部
  • Meta數據

    • db_table: 指定數據表的名稱

    • ordering: 指定按照哪些字段來排序, 類型為一元元組

    • verbose_name: 為模型類設置一個直觀可讀的名稱

    • abstract: =True將該類設置為基類, 不生成數據表, 僅供其它類繼承

    • permissions: 為數據表設置額外的權限, 通過二元元組來實現(('定義好的權限', '權限的說明'), )

    • managed: 表示是否按照django既定的規則來管理數據表, 默認是True

    • unique_together: 指定聯合唯一鍵,可以使用一元元組或二元元組(即多個唯一約束)

    • app_label: 定義模型類屬于哪一個應用

    • db_tablespace: 定義數據表空間的名字

    查看全部
    2 采集 收起 來源:元數據介紹

    2019-05-18

  • 自關聯的兩種寫法

    1. pid = models.ForeignKey('self', null=True, blank=True)

    2. pid = models.ForeignKey('${TableName}', null=True, blank=True)

    查看全部
    0 采集 收起 來源:自關聯

    2019-05-18

  • 關系型字段的on_delete參數

    查看全部
    0 采集 收起 來源:字段參數

    2019-05-18

    • 所有字段都有的屬性值

      • editable: 是否可以編輯, 默認為False

      • help_text: 在表單中顯示幫助信息的參數

      • db_index: 為當前字段建立索引, 默認為False

      • null/blank: 字段是否可以為空, null約束數據庫層面, blank約束前端表單提交時

      • unique: 唯一性約束, 默認為False

      • verbose_name: 設置字段別名(或備注)

      • primary_key: 設置當前字段是否為主鍵, 默認為False

      • db_column: 設置當前字段的名稱

    • 屬于個別字段的參數

      • max_length[CharField]

      • unique_for_date[DateField]: 字段日期必須唯一

      • unique_for_month[DateField]

      • auto_now[DateField]: 修改記錄時是否自動更新當前日期

      • auto_now_add[DateField]: 添加記錄時是否自動設置當前日志

      • max_digits[DecimalField]: 總共有多少位

      • decimal_places[DecimalField]: 小數點后數字的個數

    • 關系型字段的參數

      • related_name: 外鍵關聯中的反向查詢,由父表查詢子表的信息

      • on_delete:?當一個被外鍵關聯的對象被刪除時,Django將模仿on_delete參數定義的SQL約束執行相應操作

        • CASCADE: 模擬SQL語言中的ON DELETE CASCADE約束,將定義有外鍵的模型對象同時刪除(該操作為當前Django版本的默認操作)

        • PROTECT: 阻止上面的刪除操作, 彈出ProtectedError異常

        • SET_NULL: 將外鍵字段設為null, 只有當字段設置了null=True時, 方可使用該值

        • SET_DEFAULT: 將外鍵字段設為默認值, 只有當字段設置了default參數時,方可使用

        • DO_NOTHING: 什么也不做

        • SET(): 設置為一個傳遞給SET()的值或者一個回調函數的返回值, 注意大小寫

    查看全部
    2 采集 收起 來源:字段參數

    2019-05-18

    • 一對一(OneToOneField)

      • models.OneToOneField(Test)

    • 多對一(ForeignKey)

      • foreign = models.ForeignKey(Other)

    • 多對多(ManyToManyField),默認或自定義中間表

      • models.ManyToManyField(B)

    查看全部
    1 采集 收起 來源:關系型字段

    2019-05-17

  • #?自增長字段
    Auto?=?models.AutoField()
    BigAuto?=?models.BigAutoField()
    
    #?二進制數據
    Binary?=?models.BinaryField()
    
    #?布爾型
    Boolean?=?models.BooleanField()
    NullBoolean?=?models.NullBooleanField()
    
    #?整型
    PositiveSmallInteger?=?models.PositiveSmallIntegerField(db_column="age")??#?5個字節
    SmallInteger?=?models.SmallIntegerField(primary_key=False)??#?6個字節
    PositiveInteger?=?models.PositiveIntegerField()??#?10個字節
    Integer?=?models.IntegerField(verbose_name="11個字節大小")??#?11個字節
    BigInteger?=?models.BigIntegerField(unique=True)??#?20個字節
    
    #?字符串類型
    Char?=?models.CharField(max_length=100,?null=True,?blank=True,?db_index=True)??#?varchar
    Text?=?models.TextField(help_text="這個是longtext")??#?longtext
    
    #?時間日期類型
    Date?=?models.DateField(unique_for_date=True,?auto_now=True)
    DateTime?=?models.DateTimeField(editable=False,?unique_for_month=True,?auto_now_add=True)
    Duration?=?models.DurationField()??#?int,?Python?timedelta實現
    
    #?浮點型
    Float?=?models.FloatField()
    Decimal?=?models.DecimalField(max_digits=4,?decimal_places=2)??#?11.22,?16.34
    
    #?其它字段
    Email?=?models.EmailField()??#?郵箱
    Image?=?models.ImageField()
    File?=?models.FileField()
    FilePath?=?models.FilePathField()
    URL?=?models.URLField()
    UUID?=?models.UUIDField()
    GenericIPAddress?=?models.GenericIPAddressField()
    查看全部
    2 采集 收起 來源:常用的字段

    2019-05-17

首頁上一頁12345下一頁尾頁

舉報

0/150
提交
取消
課程須知
1、Python基礎知識 2、會Django開發環境搭建 3、MySQL的簡單使用
老師告訴你能學到什么?
1、什么是Django ORM 2、常用的字段和屬性有哪些 3、如何定義元數據Meta 4、Django數據表相關操作 5、Models API入門到精通,ORM無障礙操作MySQL 6、F對象和Q對象實現復雜的高級操作

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!