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

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

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

先設(shè)置一個關(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)你獲取一個ForeignKey 字段時,你會得到相關(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)系而稍有不同。 通過一個`` 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 只是一個 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程序時,經(jīng)常會報出一些異常,下面這篇文章主要給大家介紹了關(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í)價值,需要的朋友可以參考下
    2020-10-10
  • tensorflow2.0教程之Keras快速入門

    tensorflow2.0教程之Keras快速入門

    這篇文章主要介紹了tensorflow2.0教程之Keras快速入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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ā)一個游戲來說,窗口的顯示肯定是前提中的前提,對于pygame來說,只需要一小段代碼就可以初始化窗口,下面這篇文章主要給大家介紹了關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 分享五個超實(shí)用Python腳本,減少垃圾軟件負(fù)擔(dān)

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

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

    Python裝飾器代碼詳解

    這篇文章主要介紹了python 一篇文章搞懂裝飾器所有用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python常用模塊之threading和Thread模塊及線程通信

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

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

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

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

最新評論

龙南县| 博湖县| 梨树县| 丹江口市| 德江县| 兴安盟| 中江县| 筠连县| 道真| 吴桥县| 长春市| 巴彦淖尔市| 湘潭县| 桑植县| 湖南省| 体育| 平遥县| 阿坝| 邛崃市| 巴东县| 高邮市| 藁城市| 开江县| 平遥县| 蓝山县| 辽阳县| 闵行区| 班玛县| 登封市| 石楼县| 聂拉木县| 平利县| 邹平县| 磐石市| 新丰县| 定边县| 赞皇县| 广汉市| 城固县| 锡林郭勒盟| 环江|