多对多表之间关系表
models.py文件代码
from django.db import models # Create your models here. class Publisher(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=64,null=False,unique=True) def __str__(self): return "publisher_name:{}".format(self.name) class Book(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=128,null=False) publisher = models.ForeignKey(to=Publisher,related_name="books") def __str__(self): return "book_title:{}".format(self.title) class Author(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=16,null=False) book = models.ManyToManyField(to="Book") def __str__(self): return "author_name:{}".format(self.name)
查询与操作方法代码
import os if __name__ == '__main__': #加载Django项目的配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings") #导入Django,并启动Django项目 import django django.setup() from ormtest import models #多对多查询 #查询作者(小白),写过的所有书有那些 author_obj = models.Author.objects.get(name="小白") print(author_obj) author_obj_books = author_obj.book.all() print(author_obj_books) #1.create(为小白作者对象创建一本书) #首先:在book表中创建一本书,并指定相应的出版社 #然后:在作者和书的多联多系表中,自动添加一条关联记录 author_obj.book.create(title="zabbix从入门到精通",publisher_id=3) #2.add(为小白作者,添加一本书(网络基础原理)) book_obj = models.Book.objects.get(title="网络基础原理") author_obj.book.add(book_obj) #3.remove(为作者小白,删除一本书《网络基础原理》) #1、为作者小白,删除一本书<网络基础原理> book_obj = models.Book.objects.get(title="网络基础原理") author_obj.book.remove(book_obj) #为作者小白,删除一本书,书的id为4 author_obj.book.remove(4) #4.clear(把作者为小白的关联的书,全部清空删除) author_obj.book.clear()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍MongoDB多表关联查询操作实例详解,包括了MongoDB多表关联查询操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MongoDB多表关联查询操作。分享给大家供大家参考,具体如下: Mongoose的多表关联查询 首先,我们回忆一下,MySQL多表关联查询的语句: student表: calss表: 通过student的classId关联进行查询学生名称,班级
本文向大家介绍Django ORM多对多查询方法(自定义第三张表&ManyToManyField),包括了Django ORM多对多查询方法(自定义第三张表&ManyToManyField)的使用技巧和注意事项,需要的朋友参考一下 对于多对多表 - 1.自定义第三张表,更加灵活 - 2.ManyToManyField 自动生成第3张表 只能 有3列数据 不能自己添加。 自定义第三张表 ManyTo
问题内容: 这可能无关紧要,只是想问一下, 如果一个对象从视图传递到模板,并且在模板中我将能够查询许多字段 型号代码: 观看次数: 在模板中可以解码多对多字段,因为我们正在传递对象 谢谢.. 问题答案: 通常,您可以通过django模板系统中的路径来跟踪任何不带参数的属性或方法调用。 对于上面的视图代码,类似 应该做您期望的。 (我无法完全从代码示例中找出具体细节,但希望这会阐明您可以从模板中学到
问题内容: 我遇到了麻烦。 有一个实体发行人与与实体镇的ManyToMany关系有关: 那么实体镇也与地区有关 现在,我必须过滤(使用jpql)一个区域中的所有分发服务器。我能怎么做? 问题答案: 请参阅:https://en.wikibooks.org/wiki/Java_Persistence/JPQL
本文向大家介绍Python之str操作方法(详解),包括了Python之str操作方法(详解)的使用技巧和注意事项,需要的朋友参考一下 1. str.format():使用“{}”占位符格式化字符串(占位符中的索引号形式和键值对形式可以混合使用)。 2. 使用“%”进行字符串格式化。 格式化符号表 %c 转为单字符 %r 转为用repr()表达的字符串 %s 转为用str()表达的字符串 %d
本文向大家介绍Yii2中hasOne、hasMany及多对多关联查询的用法详解,包括了Yii2中hasOne、hasMany及多对多关联查询的用法详解的使用技巧和注意事项,需要的朋友参考一下 前言 hasOne、hasMany是Yii2特有的用于多表关联查询的函数,平时在使用多表关联查询的时候建议使用它们。为什么?因为这种方式关联查询出来的结果会保留Yii2自有的表头排序功能,以及Checkbox