亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

django 多對多表的創(chuàng)建和插入代碼實現(xiàn)

 更新時間:2019年09月09日 10:16:23   作者:信奉上帝的小和尚  
這篇文章主要介紹了django-多對多表的創(chuàng)建和插入代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了django-多對多表的創(chuàng)建和插入代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

表的創(chuàng)建

# 作者和書籍之間的多對多關系  
class Author(models.Model):
  '''
  作者表
  '''
  nid = models.AutoField(primary_key=True)
  name = models.CharField(verbose_name='作者名稱',max_length=32)
  # 第一種方式直接在作者表中創(chuàng)建ManyToManyField字段(ORM會自動幫我們創(chuàng)建第三張表推薦這種方式)
  author2books = models.ManyToManyField(to='Books')
class Books(models.Model):
  '''
  書籍名稱
  '''
  nid = models.AutoField(primary_key=True)
  title = models.CharField(verbose_name='書本名稱',max_length=32)
  pid = models.ForeignKey(verbose_name='出版社ID',to='Press',to_field='nid',on_delete=models.CASCADE)
# 第二鐘方式手動創(chuàng)建第三張表
# class Books2Author(models.Model):
#   '''
#   書本作者對應表
#   '''
#   nid = models.AutoField(primary_key=True)
#   aid = models.ForeignKey(verbose_name='作者ID',to='Author',to_field='nid')
#   bid = models.ForeignKey(verbose_name='書籍ID',to='Books',to_field='nid')

數(shù)據(jù)的添加

# 編輯作者
def edit_author(request):
  # 獲取作者ID 
  id = request.GET.get('id')
  # 獲取所有書籍
  books_lst = models.Books.objects.all()
  # 根據(jù)作者ID 獲取到作者對象
  author_info = models.Author.objects.filter(pk=id).first()
  if request.method == 'POST':
    # 獲取前端傳過來的作者新名稱
    name = request.POST.get('name')
    # 獲取前端傳遞過來的書籍
    book_lst = request.POST.getlist('books')
    # 根據(jù)新名稱,更新當前名稱
    author_info.name = name
    # 保存數(shù)據(jù)
    author_info.save()
    # set方法會將當前作者原先的書籍全部刪除,然后插入前端傳遞過來的書籍列表(參數(shù)為list類型)
    author_info.author2books.set(book_lst)
    # add方法會將前端傳遞過來書籍添加到 作者和書籍的對應表中。如果插入重復記錄會報錯(參數(shù)為單個元素,可以插入多個)
    # author_info.author2books.add(*book_lst)
    return redirect('/author_lst/')
  return render(request,'edit_author.html',{'books_lst':books_lst,'author_info':author_info})

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

相關文章

  • Django多app路由分發(fā)(純后端)

    Django多app路由分發(fā)(純后端)

    本文主要介紹了Django多app路由分發(fā),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程

    Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程

    這篇文章主要介紹了Python3+SQLAlchemy+Sqlite3實現(xiàn)ORM教程,需要的朋友可以參考下
    2021-02-02
  • 關于Django ForeignKey 反向查詢中filter和_set的效率對比詳解

    關于Django ForeignKey 反向查詢中filter和_set的效率對比詳解

    今天小編就為大家分享一篇關于Django ForeignKey 反向查詢中filter和_set的效率對比詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python使用matplotlib繪制圖形大全(曲線圖、條形圖、餅圖等)

    Python使用matplotlib繪制圖形大全(曲線圖、條形圖、餅圖等)

    matplotlib 是一個用于創(chuàng)建靜態(tài)、動態(tài)和交互式可視化圖形的 Python 庫,它被廣泛用于數(shù)據(jù)可視化,并且可以與多種操作系統(tǒng)和圖形后端一起工作,本文給大家介紹了Python使用matplotlib繪制圖形大全,需要的朋友可以參考下
    2024-06-06
  • Python中os.system函數(shù)的用法詳解

    Python中os.system函數(shù)的用法詳解

    在 Python 的眾多模塊中,os模塊是一個功能強大的工具,它為開發(fā)者提供了與操作系統(tǒng)交互的接口,其中,os.system函數(shù)作為os模塊的一部分,扮演著重要的角色,本文給大家介紹了Python中os.system函數(shù)的用法,需要的朋友可以參考下
    2025-02-02
  • python實現(xiàn)多人聊天室

    python實現(xiàn)多人聊天室

    這篇文章主要為大家詳細介紹了python實現(xiàn)多人聊天室,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python django實現(xiàn)簡單的郵件系統(tǒng)發(fā)送郵件功能

    Python django實現(xiàn)簡單的郵件系統(tǒng)發(fā)送郵件功能

    這篇文章主要介紹了Python django實現(xiàn)簡單的郵件系統(tǒng)發(fā)送郵件功能,結(jié)合實例形式分析了django發(fā)送郵件的實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下
    2017-07-07
  • Python vtk讀取并顯示dicom文件示例

    Python vtk讀取并顯示dicom文件示例

    今天小編就為大家分享一篇Python vtk讀取并顯示dicom文件示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python time模塊用法實例詳解

    python time模塊用法實例詳解

    這篇文章主要介紹了python中time模塊的用法,包括了各類時間函數(shù),需要的朋友可以參考下
    2014-09-09
  • Python報錯KeyError: ‘missing_key‘的有效解決方法

    Python報錯KeyError: ‘missing_key‘的有效解決方法

    在 Python 編程中,報錯信息常常讓開發(fā)者感到困擾,其中,“KeyError: ‘missing_key’”是一個較為常見的報錯,它可能在各種數(shù)據(jù)處理和字典操作的場景中出現(xiàn),本文將深入探討這個報錯的原因,并提供多種有效的解決方法,幫助開發(fā)者快速解決此類問題
    2024-10-10

最新評論