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

Django的數(shù)據(jù)模型訪問多對(duì)多鍵值的方法

 更新時(shí)間:2015年07月21日 10:11:18   投稿:goldensun  
這篇文章主要介紹了Django的數(shù)據(jù)模型訪問多對(duì)多鍵值的方法,Django是Python豐富多彩的web框架中最具人氣的一個(gè),需要的朋友可以參考下

這里先來借用一個(gè)書本(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

 訪問多對(duì)多值(Many-to-Many Values)

多對(duì)多和外鍵工作方式相同,只不過我們處理的是QuerySet而不是模型實(shí)例。 例如,這里是如何查看書籍的作者:

>>> b = Book.objects.get(id=50)
>>> b.authors.all()
[<Author: Adrian Holovaty>, <Author: Jacob Kaplan-Moss>]
>>> b.authors.filter(first_name='Adrian')
[<Author: Adrian Holovaty>]
>>> b.authors.filter(first_name='Adam')
[]

反向查詢也可以。 要查看一個(gè)作者的所有書籍,使用author.book_set ,就如這樣:

>>> a = Author.objects.get(first_name='Adrian', last_name='Holovaty')
>>> a.book_set.all()
[<Book: The Django Book>, <Book: Adrian's Other Book>]

這里,就像使用 ForeignKey字段一樣,屬性名book_set是在數(shù)據(jù)模型(model)名后追加_set。

相關(guān)文章

  • Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計(jì)詳解

    Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計(jì)詳解

    這篇文章主要介紹了Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計(jì),包括初始化、界面與邏輯實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python腳本定時(shí)發(fā)送郵件

    python腳本定時(shí)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了python腳本定時(shí)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    本文主要介紹了Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 快速解決pymongo操作mongodb的時(shí)區(qū)問題

    快速解決pymongo操作mongodb的時(shí)區(qū)問題

    這篇文章主要介紹了快速解決pymongo操作mongodb的時(shí)區(qū)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的方法改進(jìn)指南

    關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的方法改進(jìn)指南

    這篇文章主要給大家介紹了關(guān)于Matplotlib繪制動(dòng)態(tài)實(shí)時(shí)曲線的相關(guān)資料,matplotlib是python里最popular的畫圖工具,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • python中的格式化輸出方法

    python中的格式化輸出方法

    這篇文章主要介紹了python中的格式化輸出方法,?數(shù)據(jù)可以以人類可讀的形式打印,或?qū)懭胛募怨硎褂?,甚至可以以某種其他指定的形式。?用戶通常希望對(duì)輸出格式進(jìn)行更多控制,而不是簡(jiǎn)單地打印以空格分隔的值,更多格式化輸出方式需要的朋友可以參考下面文章內(nèi)容
    2022-03-03
  • Python使用指定字符長(zhǎng)度切分?jǐn)?shù)據(jù)示例

    Python使用指定字符長(zhǎng)度切分?jǐn)?shù)據(jù)示例

    今天小編就為大家分享一篇Python使用指定字符長(zhǎng)度切分?jǐn)?shù)據(jù)示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python+selenium+autoit實(shí)現(xiàn)文件上傳功能

    python+selenium+autoit實(shí)現(xiàn)文件上傳功能

    這篇文章主要介紹了python+selenium+autoit實(shí)現(xiàn)文件上傳功能,需要的朋友可以參考下
    2017-08-08
  • Python OpenCV實(shí)現(xiàn)基于模板的圖像拼接

    Python OpenCV實(shí)現(xiàn)基于模板的圖像拼接

    基于特征點(diǎn)的圖像拼接如果是多張圖,每次計(jì)算變換矩陣,都有誤差,最后可以圖像拼完就變形很大,基于模板的方法可以很好的解決這一問題,本文就來和大家具體聊聊
    2022-10-10
  • 快速進(jìn)修Python指南之面向?qū)ο蠡A(chǔ)

    快速進(jìn)修Python指南之面向?qū)ο蠡A(chǔ)

    這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之面向?qū)ο蠡A(chǔ),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論

信丰县| 麻城市| 台中市| 蒲城县| 中方县| 沁水县| 桃江县| 开封市| 乡城县| 桃园市| 灵台县| 海口市| 河南省| 磐石市| 克东县| 集安市| 辽宁省| 铁力市| 临颍县| 绍兴市| 阜南县| 巴彦县| 杭锦旗| 镇原县| 长丰县| 保德县| 宿松县| 繁昌县| 大荔县| 岑溪市| 福州市| 广灵县| 钟山县| 鄂温| 罗田县| 新疆| 沾益县| 方正县| 昂仁县| 偃师市| 金堂县|