如何在Django中使用外鍵-創(chuàng)新互聯(lián)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何在Django中使用外鍵,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的荔城網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

一、描述

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

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

歌曲的操作次數(shù)

如何在Django中使用外鍵

歌曲信息

如何在Django中使用外鍵

二、解決

由于在django中都是使用models.py文件來管理數(shù)據(jù)庫,再通過views.py進行連接操作,最后用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ù)就是類名,這樣就和歌曲信息關聯(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這個字段來聯(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中的對象來引用了song當中的信息,play_hot_song是在views.py中的字段名,進行遍歷的是play_hot.song.song_name,play_hot是遍歷的參數(shù),song是接口的字段名,song_name是外接對象的內(nèi)容,這樣就可以將信息映射到網(wǎng)站中。

三、結果

如何在Django中使用外鍵

上述就是小編為大家分享的如何在Django中使用外鍵了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:如何在Django中使用外鍵-創(chuàng)新互聯(lián)
當前URL:http://muchs.cn/article10/cspdgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、App開發(fā)、做網(wǎng)站定制開發(fā)、App設計響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司