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

在Django admin中編輯ManyToManyField的實(shí)現(xiàn)方法

 更新時(shí)間:2019年08月09日 10:02:38   作者:阿農(nóng)安貴人  
今天小編就為大家分享一篇在Django admin中編輯ManyToManyField的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

如何定義多對(duì)多關(guān)系

Django 本身自帶了一個(gè)很強(qiáng)大的ORM,支持自定義model并將其映射到數(shù)據(jù)庫(kù)的表中

model中可以定義各種類型的數(shù)據(jù),比較直觀的比如整形, 字符型,也可以定義外鍵 ForeignKey來(lái)指定一對(duì)多關(guān)系。

關(guān)系數(shù)據(jù)庫(kù)中有一種多對(duì)多的關(guān)系,在Django的ORM中也支持它,使用ManyToManyField.

下面使用EmailGroup和Email來(lái)展示如何使用

class EmailTo(models.Model):
  name = models.CharField(max_length=64)
  email = models.EmailField(max_length=255, unique=True, db_index=True)

  def __unicode__(self):
    return self.name

class EmailGourp(models.Model):
  name = models.CharField(max_length=64)
  email_to = models.ManyToManyField(EmialTo, blank=True)

  def __unicode__(self):
    return self.name

這里就定義了EmailGroup和EmailTo是一個(gè)多對(duì)多關(guān)系,這樣在作migrate的時(shí)候就會(huì)在數(shù)據(jù)庫(kù)中多產(chǎn)生一個(gè)作Mapping的表,表名一般為emailgroup_email_to

如何編輯多對(duì)多關(guān)系

Django另一個(gè)強(qiáng)大的功能是可以根據(jù)model來(lái)生成admin site,并且可以對(duì)admin site進(jìn)行定制。但是默認(rèn)的admin site 對(duì)這種ManytoManyField的編輯功能非常的弱小而且還有問題。

就是如果只有這樣的話

admin.site.register(EmialGourp)

那如何才能使admin site很好的支持編輯ManytoManyField呢,這樣就需要定制化admin site

首先定義EmailGroup的admin

class EmailGroupAdmin(ModelAdmin):
  list_display = ('name',)
  fieldsets = (
    (None, {'fields': ('name', 'email_to')}),
  )
  filter_horizontal = ('email_to',)

這里的重點(diǎn)是使用filter_horizontal

然后將EmailGroupAdmin加入到admin.site中去

admin.site.register(EmialGourp, EmailGroupAdmin)

這樣就會(huì)有一個(gè)非常有好的Admin界面來(lái)編輯ManytoManyField

以上這篇在Django admin中編輯ManyToManyField的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中reduce函數(shù)詳解

    Python中reduce函數(shù)詳解

    本文主要介紹了Python中reduce函數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python 字典與字符串的互轉(zhuǎn)實(shí)例

    Python 字典與字符串的互轉(zhuǎn)實(shí)例

    下面小編就為大家?guī)?lái)一篇Python 字典與字符串的互轉(zhuǎn)實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-01-01
  • Python?flask?框架使用flask-login?模塊的詳細(xì)過程

    Python?flask?框架使用flask-login?模塊的詳細(xì)過程

    Flask-Login?是一個(gè)?Flask?模塊,可以為?Flask?應(yīng)用程序提供用戶登錄功能,這篇文章主要介紹了Python?flask?框架使用?flask-login?模塊,需要的朋友可以參考下
    2023-01-01
  • python關(guān)于逆序輸出留空格的方法解讀

    python關(guān)于逆序輸出留空格的方法解讀

    這篇文章主要介紹了python關(guān)于逆序輸出留空格的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 基于python的itchat庫(kù)實(shí)現(xiàn)微信聊天機(jī)器人(推薦)

    基于python的itchat庫(kù)實(shí)現(xiàn)微信聊天機(jī)器人(推薦)

    這篇文章主要介紹了基于python的itchat庫(kù)實(shí)現(xiàn)微信聊天機(jī)器人,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • python SVM 線性分類模型的實(shí)現(xiàn)

    python SVM 線性分類模型的實(shí)現(xiàn)

    這篇文章主要介紹了python SVM 線性分類模型的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python構(gòu)建簡(jiǎn)單線性回歸模型

    Python構(gòu)建簡(jiǎn)單線性回歸模型

    這篇文章主要介紹了Python構(gòu)建簡(jiǎn)單線性回歸模型,線性回歸表示發(fā)現(xiàn)函數(shù)使用線性組合表示輸入變量。簡(jiǎn)單線性回歸很容易理解,使用了基本的回歸技術(shù),一旦理解了這些基本概念,可以更好地學(xué)習(xí)其他類型的回歸模型
    2022-08-08
  • Python3.8安裝Pygame教程步驟詳解

    Python3.8安裝Pygame教程步驟詳解

    這篇文章主要介紹了Python3.8安裝Pygame教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python 用戶輸入和while循環(huán)的操作

    Python 用戶輸入和while循環(huán)的操作

    這篇文章主要介紹了Python 用戶輸入和while循環(huán)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python數(shù)組過濾實(shí)現(xiàn)方法

    python數(shù)組過濾實(shí)現(xiàn)方法

    這篇文章主要介紹了python數(shù)組過濾實(shí)現(xiàn)方法,涉及Python針對(duì)數(shù)組的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07

最新評(píng)論