欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django 外鍵的使用方法詳解

 更新時(shí)間:2019年07月19日 14:54:54   作者:Pengzquan  
這篇文章主要介紹了Django 外鍵的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、描述

在利用django做網(wǎng)絡(luò)開發(fā)的時(shí)候我們會(huì)遇到一個(gè)問題就是,我們建立了多張數(shù)據(jù)表,但是多張數(shù)據(jù)表中的內(nèi)容是不一樣的,但是之間有著聯(lián)系比如:

我有兩張表,一張是記錄歌曲信息的內(nèi)容,一張是對(duì)歌曲操作的內(nèi)容(下載次數(shù)瀏覽次數(shù)),如果我在views中對(duì)下載次數(shù)進(jìn)行一個(gè)排序,但是我不能只顯示下載次數(shù),我需要歌名的內(nèi)容,此時(shí)我們就需要外鍵來完成這個(gè)工作。

歌曲的操作次數(shù)

歌曲信息

二、解決

由于在django中都是使用models.py文件來管理數(shù)據(jù)庫,再通過views.py進(jìn)行連接操作,最后用urls.py來映射到網(wǎng)站

1.models.py:

    dynamic_id = models.AutoField('serial_num', primary_key=True)
   song = models.ForeignKey(Song, on_delete=models.CASCADE, verbose_name='song name')
   dynamic_plays = models.IntegerField('plays_num')
   dynamic_search = models.IntegerField('search_num')
   dynamic_down = models.IntegerField('down_num')

就可以完成外鍵的設(shè)置,第一個(gè)參數(shù)就是類名,這樣就和歌曲信息關(guān)聯(lián)在一起了。

2.views.py

# hot search songs
  search_song = Dynamic.objects.select_related('song').order_by('dynamic_search').all()[:8]
  # sort songs
  label_list = Label.objects.all()
  # hot songs
  play_hot_song = Dynamic.objects.select_related('song').order_by('dynamic_plays').all()[:10]
  # recommend songs
  daily_recommendation = Song.objects.order_by('song_release').all()[:3]
  # hot search and download
  search_ranking = search_song[:6]
  down_ranking = Dynamic.objects.select_related('song').order_by('dynamic_down').all()[:6]
  all_ranking = [search_ranking, down_ranking]
  return render(request, 'index/test.html', locals())

根據(jù)上面的信息可以看到在search_song中利用了dynamic_search這個(gè)字段來聯(lián)系我們遇到的信息內(nèi)容,將dynamic_search和song的信息連在一起外接字段是song,也可以是其他的連接方式。

3.idnex.html:

<img src="{% static 'image/logo.png' %}">
<br/>
{% for play_hot in play_hot_song %}
{{ play_hot.song.song_name }}
<br/>
{% endfor %}

在.html文件中我們使用了在views.py中的對(duì)象來引用了song當(dāng)中的信息,play_hot_song是在views.py中的字段名,進(jìn)行遍歷的是play_hot.song.song_name,play_hot是遍歷的參數(shù),song是接口的字段名,song_name是外接對(duì)象的內(nèi)容,這樣就可以將信息映射到網(wǎng)站中。

三、結(jié)果

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python類的多繼承的搜索順序

    Python類的多繼承的搜索順序

    python和C++一樣,支持多繼承,本文主要介紹了Python類的多繼承的搜索順序,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • PyTorch: 梯度下降及反向傳播的實(shí)例詳解

    PyTorch: 梯度下降及反向傳播的實(shí)例詳解

    今天小編就為大家分享一篇PyTorch: 梯度下降及反向傳播的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python基本數(shù)據(jù)類型練習(xí)題

    python基本數(shù)據(jù)類型練習(xí)題

    這篇文章主要介紹了python基本數(shù)據(jù)類型,Python?中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。在?Python?中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對(duì)象的類型。下面舉例說明改內(nèi)容,,需要的朋友可以參考一下
    2022-01-01
  • django自定義非主鍵自增字段類型詳解(auto increment field)

    django自定義非主鍵自增字段類型詳解(auto increment field)

    這篇文章主要介紹了django自定義非主鍵自增字段類型詳解(auto increment field),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • pytorch  RNN參數(shù)詳解(最新)

    pytorch  RNN參數(shù)詳解(最新)

    這篇文章主要介紹了pytorch  RNN參數(shù)詳解,這個(gè)示例代碼展示了如何使用 PyTorch 定義和訓(xùn)練一個(gè) LSTM 模型,并詳細(xì)解釋了每個(gè)類和方法的參數(shù)及其作用,需要的朋友可以參考下
    2024-06-06
  • 基于python cut和qcut的用法及區(qū)別詳解

    基于python cut和qcut的用法及區(qū)別詳解

    今天小編就為大家分享一篇基于python cut和qcut的用法及區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 對(duì)Python中g(shù)ensim庫word2vec的使用詳解

    對(duì)Python中g(shù)ensim庫word2vec的使用詳解

    今天小編就為大家分享一篇對(duì)Python中g(shù)ensim庫word2vec的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 詳細(xì)解讀Python中解析XML數(shù)據(jù)的方法

    詳細(xì)解讀Python中解析XML數(shù)據(jù)的方法

    這篇文章主要介紹了Python中解析XML數(shù)據(jù)的方法,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-10-10
  • 淺談解除裝飾器作用(python3新增)

    淺談解除裝飾器作用(python3新增)

    今天小編就為大家分享一篇淺談解除裝飾器作用(python3新增),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python使用OpenCV實(shí)現(xiàn)虛擬縮放效果

    Python使用OpenCV實(shí)現(xiàn)虛擬縮放效果

    OpenCV?徹底改變了整個(gè)圖像處理領(lǐng)域。從圖像分類到對(duì)象檢測,我們不僅可以使用?OpenCV?庫做一些很酷的事情,而且還可以構(gòu)建一流的應(yīng)用程序。本文將用OpenCV實(shí)現(xiàn)虛擬縮放,需要的可以參考一下
    2022-02-02

最新評(píng)論