django orm總結

來源:互聯網
上載者:User

標籤:style   blog   color   使用   strong   資料   

目錄
1.1.1 產生查詢
1.1.2 建立對象
1.1.3 儲存修改的對象
1.1.4 儲存 ForeignKey 和 ManyToManyField 欄位
1.1.5 檢索對象
1.1.6 檢索所有的對象
1.1.7 過濾檢索特定對象
1.1.8 連結過濾
1.1.9 過濾結果集是唯一
1.2.1 結果集是延遲的
1.2.2 其他的QuerySet方法
1.2.3 限制 QuerySets
1.2.4 欄位尋找
1.2.5 跨關係查詢
1.2.6 過濾器可參考模型欄位
1.2.7 緩衝查詢集
1.2.8 比較對象
1.2.9 刪除對象
1.3.1 一次修改多個對象
1.3.2 關聯性物件
1.3.3 One-to-many關係
1.3.4 Many-to-many關係
1.3.5 One-to-one關係


1.1.1 產生查詢
你建立完資料模型,django會自動提供給你資料庫抽象的API,可以建立、擷取、修改、刪除對象,本篇文檔講解如何使用API。

我們參考下面模型,一個weblog:

#部落格class Blog(models.Model):    name = models.CharField(max_length=100)    tagline = models.TextField()    def __unicode__(self):        return self.name#作者class Author(models.Model):    name = models.CharField(max_length=50)    email = models.EmailField()    def __unicode__(self):        return self.name#目錄class Entry(models.Model):    blog = models.ForeignKey(Blog)    headline = models.CharField(max_length=255)    body_text = models.TextField()    pub_date = models.DateTimeField()    authors = models.ManyToManyField(Author)    n_comments = models.IntegerField()    n_pingbacks = models.IntegerField()    rating = models.IntegerField()    def __unicode__(self):        return self.headline

 

1.1.2 建立對象

用python對象描述資料庫表的資料,django使用一個直觀的系統,一個模型類描述一個資料表,一個類的執行個體描述表的一條詳細記錄。使用模型的save()方法將對象建立到資料庫。

from mysite.blog.models import Blogb = Blog(name=‘Beatles Blog‘, tagline=‘All the latest Beatles news.‘)b.save()

只有執行save方法時,django才會執行sql把對象寫入資料庫。


1.1.3 儲存修改的對象

儲存修改仍然使用save()方法

b5.name = ‘New name‘b5.save()


1.1.4 儲存 ForeignKey 和 ManyToManyField 欄位

cheese_blog = Blog.objects.get(name="Cheddar Talk")entry.blog = cheese_blog #為 ManyToManyField 增加記錄entry.save()
joe = Author.objects.create(name="Joe")entry.authors.add(joe) #為 ForeignKey 增加記錄


1.1.5 檢索對象
xxxx
1.1.6 檢索所有的對象
xxxx
1.1.7 過濾檢索特定對象
xxxx
1.1.8 連結過濾
xxxx
1.1.9 過濾結果集是唯一
xxxx
1.2.1 結果集是延遲的
xxxx
1.2.2 其他的QuerySet方法
xxxx
1.2.3 限制 QuerySets
xxxx
1.2.4 欄位尋找
xxxx
1.2.5 跨關係查詢
xxxx
1.2.6 過濾器可參考模型欄位
xxxx
1.2.7 緩衝查詢集
xxxx
1.2.8 比較對象
xxxx
1.2.9 刪除對象
xxxx
1.3.1 一次修改多個對象
xxxx
1.3.2 關聯性物件
xxxx
1.3.3 One-to-many關係
xxxx
1.3.4 Many-to-many關係
xxxx
1.3.5 One-to-one關係
xxxx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.