使用django怎么创建一个多对多表

  介绍

这期内容当中小编将会给大家带来有关使用django怎么创建一个多对多表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<强>表的创建

#,作者和书籍之间的多对多关系,,   class 作者(models.Model):   & # 39;才能& # 39;& # 39;   作才能者表   & # 39;才能& # 39;& # 39;   时间=nid 才能;models.AutoField (primary_key=True)   name 才能=,models.CharField (verbose_name=& # 39;作者名称& # 39;,max_length=32)   #才能,第一种方式直接在作者表中创建ManyToManyField字段(ORM会自动帮我们创建第三张表推荐这种方式)   author2books 才能=,models.ManyToManyField(=& # 39;书# 39;)   class 书(models.Model):   & # 39;才能& # 39;& # 39;   书才能籍名称   & # 39;才能& # 39;& # 39;   时间=nid 才能;models.AutoField (primary_key=True)   title 才能=,models.CharField (verbose_name=& # 39;书本名称& # 39;,max_length=32)   pid 才能=,models.ForeignKey (verbose_name=& # 39;出版社id # 39;,=& # 39;新闻# 39;,to_field=& # 39; nid& # 39;, on_delete=models.CASCADE)   #,第二钟方式手动创建第三张表   #,class  Books2Author (models.Model):   #,,,& # 39;& # 39;& # 39;   #,,,书本作者对应表   #,,,& # 39;& # 39;& # 39;   #,,,nid =, models.AutoField (primary_key=True)   #,,,aid =, models.ForeignKey (verbose_name=& # 39;作者id # 39;,=& # 39;作者# 39;,to_field=& # 39; nid& # 39;)   #,,,bid =, models.ForeignKey (verbose_name=& # 39;书籍id # 39;,=& # 39;书# 39;,to_field=& # 39; nid& # 39;)

<强>数据的添加

#,编辑作者   def  edit_author(请求):   #,才能获取作者ID    id 才能=,request.GET.get (& # 39; id # 39;)   #,才能获取所有书籍   时间=books_lst 才能;models.Books.objects.all ()   #才能,根据作者ID 获取到作者对象   时间=author_info 才能;models.Author.objects.filter (pk=id)当代()   if 才能;request.method ==, & # 39;文章# 39;:   ,,,#,获取前端传过来的作者新名称   ,,,name =, request.POST.get(& # 39;名字# 39;)   ,,,#,获取前端传递过来的书籍   ,,,book_lst =, request.POST.getlist(& # 39;书# 39;)   ,,,#,根据新名称,更新当前名称   ,,,author_info.name =,名字   ,,,#,保存数据   ,,,author_info.save ()   ,,,#,设置方法会将当前作者原先的书籍全部删除,然后插入前端传递过来的书籍列表(参数为列表类型)   ,,,author_info.author2books.set (book_lst)   ,,,#,添加方法会将前端传递过来书籍添加到,作者和书籍的对应表中。如果插入重复记录会报错(参数为单个元素,可以插入多个)   ,,,#,author_info.author2books.add (* book_lst)   ,,,return 重定向(& # 39;/author_lst & # 39;)   return 才能;渲染(请求,& # 39;edit_author.html& # 39;, {& # 39; books_lst& # 39;: books_lst, & # 39; author_info& # 39;: author_info})

使用django怎么创建一个多对多表