最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

舉例講解Django中數(shù)據(jù)模型訪問外鍵值的方法

 更新時(shí)間:2015年07月21日 09:58:09   投稿:goldensun  
這篇文章主要介紹了舉例講解Django中數(shù)據(jù)模型訪問外鍵值的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下

先設(shè)置一個(gè)關(guān)于書本(book)的數(shù)據(jù)模型:

from django.db import models

class Publisher(models.Model):
  name = models.CharField(max_length=30)
  address = models.CharField(max_length=50)
  city = models.CharField(max_length=60)
  state_province = models.CharField(max_length=30)
  country = models.CharField(max_length=50)
  website = models.URLField()

  def __unicode__(self):
    return self.name

class Author(models.Model):
  first_name = models.CharField(max_length=30)
  last_name = models.CharField(max_length=40)
  email = models.EmailField()

  def __unicode__(self):
    return u'%s %s' % (self.first_name, self.last_name)

class Book(models.Model):
  title = models.CharField(max_length=100)
  authors = models.ManyToManyField(Author)
  publisher = models.ForeignKey(Publisher)
  publication_date = models.DateField()

  def __unicode__(self):
    return self.title

 訪問外鍵(Foreign Key)值

當(dāng)你獲取一個(gè)ForeignKey 字段時(shí),你會得到相關(guān)的數(shù)據(jù)模型對象。 例如:

>>> b = Book.objects.get(id=50)
>>> b.publisher
<Publisher: Apress Publishing>
>>> b.publisher.website
u'http://www.apress.com/'

對于用`` ForeignKey`` 來定義的關(guān)系來說,在關(guān)系的另一端也能反向的追溯回來,只不過由于不對稱性的關(guān)系而稍有不同。 通過一個(gè)`` publisher`` 對象,直接獲取 books ,用 publisher.book_set.all() ,如下:

>>> p = Publisher.objects.get(name='Apress Publishing')
>>> p.book_set.all()
[<Book: The Django Book>, <Book: Dive Into Python>, ...]

實(shí)際上,book_set 只是一個(gè) QuerySet,所以它可以像QuerySet一樣,能實(shí)現(xiàn)數(shù)據(jù)過濾和分切,例如:

>>> p = Publisher.objects.get(name='Apress Publishing')
>>> p.book_set.filter(name__icontains='django')
[<Book: The Django Book>, <Book: Pro Django>]

屬性名稱book_set是由模型名稱的小寫(如book)加_set組成的。

相關(guān)文章

  • Python異常類型以及處理方法匯總

    Python異常類型以及處理方法匯總

    調(diào)試Python程序時(shí),經(jīng)常會報(bào)出一些異常,下面這篇文章主要給大家介紹了關(guān)于Python異常類型以及處理方法的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python尾遞歸優(yōu)化實(shí)現(xiàn)代碼及原理詳解

    Python尾遞歸優(yōu)化實(shí)現(xiàn)代碼及原理詳解

    這篇文章主要介紹了Python尾遞歸優(yōu)化實(shí)現(xiàn)代碼及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • tensorflow2.0教程之Keras快速入門

    tensorflow2.0教程之Keras快速入門

    這篇文章主要介紹了tensorflow2.0教程之Keras快速入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python解決N階臺階走法問題的方法分析

    Python解決N階臺階走法問題的方法分析

    這篇文章主要介紹了Python解決N階臺階走法問題的方法,簡單描述了走臺階問題,并結(jié)合實(shí)例形式分析了Python使用遞歸與遞推算法解決走臺階問題的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作指南

    關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作指南

    對于開發(fā)一個(gè)游戲來說,窗口的顯示肯定是前提中的前提,對于pygame來說,只需要一小段代碼就可以初始化窗口,下面這篇文章主要給大家介紹了關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 分享五個(gè)超實(shí)用Python腳本,減少垃圾軟件負(fù)擔(dān)

    分享五個(gè)超實(shí)用Python腳本,減少垃圾軟件負(fù)擔(dān)

    今天給大家?guī)韼讉€(gè)實(shí)用的python腳本工具,可以實(shí)現(xiàn)系統(tǒng)提示工具、文件夾清理工具等,這樣就再也不用擔(dān)心女朋友在電腦里安裝垃圾軟件啦
    2022-05-05
  • Python裝飾器代碼詳解

    Python裝飾器代碼詳解

    這篇文章主要介紹了python 一篇文章搞懂裝飾器所有用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • Python實(shí)現(xiàn)線性判別分析(LDA)的MATLAB方式

    Python實(shí)現(xiàn)線性判別分析(LDA)的MATLAB方式

    今天小編大家分享一篇Python實(shí)現(xiàn)線性判別分析(LDA)的MATLAB方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python常用模塊之threading和Thread模塊及線程通信

    Python常用模塊之threading和Thread模塊及線程通信

    這篇文章主要介紹了Python常用模塊之threading和Thread模塊及線程通信,文章為圍繞主題的相關(guān)內(nèi)容展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友看可以參考一下方法
    2022-06-06
  • python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索

    python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索

    這篇文章主要為大家介紹了python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評論

景德镇市| 长治市| 光泽县| 武宣县| 兴隆县| 长葛市| 双牌县| 聊城市| 宜兰市| 宝应县| 闻喜县| 河池市| 固镇县| 伊通| 石河子市| 黔江区| 邳州市| 留坝县| 龙岩市| 雷山县| 清镇市| 棋牌| 康平县| 明溪县| 双柏县| 毕节市| 区。| 五大连池市| 金华市| 绥棱县| 梨树县| 永康市| 仪征市| 壶关县| 阿拉善左旗| 弥渡县| 昌都县| 九龙坡区| 新密市| 夏邑县| 黄浦区|