首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

06.Django基础五之django模型层(二)多表操作

through 使用ManyToManyField字段时,Django将自动生成一张表来管理多对多的关联关系。...verbose_name指定在admin管理界面显示中文;verbose_name表示单数形式的显示,verbose_name_plural表示复数形式的显示;中文的单数和复数一般不作区别。   ...四 基于双下划线的跨表查询(基于join实现的) Django 还提供了一种直观高效的方式查询(lookups)中表示关联关系,它能自动确认 SQL JOIN 联系。...ORM执行原生sql语句(了解)   模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询。   ...七 Python脚本调用Django环境 (django外部脚本使用models) 如果你想通过自己创建的python文件django项目中使用django的models,那么就需要调用django

2.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

Django学习笔记之ORM多表操作

注意事项:  表的名称myapp_modelName,是根据 模型的元数据自动生成的,也可以覆写为别的名称   id 字段是自动添加的  对于外键字段,Django 会在字段名上添加"_id" 来创建数据库的列名...,publish_id=1) # 为书籍绑定的做作者对象 yuan=Author.objects.filter(name="yuan").first() # Author表主键为2的纪录...) 注意: 你可以通过 ForeignKey() 和ManyToManyField的定义设置 related_name 的值来覆写 FOO_set 的名称。...还提供了一种直观高效的方式查询(lookups)中表示关联关系,它能自动确认 SQL JOIN 联系。...Django 提供 F() 来做这样的比较。F() 的实例可以查询引用字段,来比较同一个 model 实例两个不同字段的值。

2.8K40

【愚公系列】2022年04月 Python教学课程 74-DRF框架之过滤

通用筛选器还可以可浏览 API 和管理 API 显示为 HTML 控件。...'django_filters', ... ] REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend...'] } 2.视图设置 from django_filters.rest_framework import DjangoFilterBackend class UserListView(generics.ListAPIView...search=russell 4.2 多字段查找 还可以使用查找 API 双下划线表示法对 ForeignKey 或 ManyToManyField 执行相关查找: search_fields = ['...如果使用多个搜索词,则仅当所有提供的词都匹配时,才会在列表返回对象。 搜索行为可能会因在 前面加上各种字符受到限制。search_fields “^”以搜索开头。 “=”完全匹配。

2.5K30

第 03 篇:创建 Django 博客的数据库模型

还有一个列 id,虽然没有显示定义,但 django 会为我们自动创建。...已经代码做了详细的注释,说明每一句代码的含义。但如果你移动端下阅读不便的话,也可以跳到代码后面看正文的里的讲解。...反应到数据库表格,它们的实际存储情况是这样的: 文章 ID 标题 正文 分类 ID 1 title 1 body 1 1 2 title 2 body 2 1 3 title 3 body 3 1 4...title 4 body 4 2 分类 ID 分类名 1 Django 2 Python 可以看到文章和分类实际上是通过文章数据库表 分类 ID 这一列关联的。...4 标签 ID 标签名 1 Django 学习 2 Python 学习 文章 ID 标签 ID 1 1 1 2 2 1 3 2 多对多的关系无法再像一对多的关系的例子一样文章数据库表加一列

55240

Django REST 框架详解 07 | 三大认证与权限六表

认证组件:校验用户 游客:无认证信息,校验通过,直接进入下一步权限认证校验 合法用户:带正确认证信息,校验通过,将用户存储 request.user ,再下一步权限认证校验 非法用户:带错误认证信息...,校验失败,抛出异常,返回 403 权限异常结果 详细:Django REST 框架详解 08 | 认证组件 2....权限组件:校验用户权限 必须登录 所有用户 登录读写,游客只读 自定义用户角色 认证通过:可以进入下一步校验(频率认证) 认证失败:抛出异常,返回 403 详细:Django REST 框架详解 09...REST 框架详解 10 | 频率认证组件 4.....settings') django.setup() from api import models user = models.User.objects.first() # 用户 print(user.username

1.4K20

Django基础——ORM字段和字段参数

Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)   # 数据库相关的配置   DATABASES = {   'default': {   ...告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库   项目/__init__.py文件,写下面两句:   import pymysql   # 告诉...一对多(出版社和书);1对多  ,外键通常设置多的那一边; publisher = models.ForeignKey(to="Publisher") 数据库实际 生成的是一个 publisher_id...' # 书和出版社是,1对1的(ForeignKey(to=)),是需要添加外键的 # 书和作者是多对多的,一本书可以有多个作者,还有一个作者也可能有多本书,即多对多的时候用(ManyToManyField...ORM的用法   OneToOneField(to="") 举例:作者和作者详情是一对一的;跟一对多,用法相同,只不过detail里面的不能重复;在数据库也是多一个detail_id 字段 总结

1.6K20

创建 Django 博客的数据库模型

已经代码做了详细的注释,说明每一句代码的含义。但如果你移动端下阅读不便的话,也可以跳到代码后面看正文的里的讲解。...反应到数据库表格,它们的实际存储情况是这样的: 文章 ID 标题 正文 分类 ID 1 title 1 body 1 1 2 title 2 body 2 1 3 title 3 body 3 1 4...title 4 body 4 2 分类 ID 分类名 1 Django 2 Python 可以看到文章和分类实际上是通过文章数据库表 分类 ID 这一列关联的。...反应到数据库表格,它们的实际存储情况是这样的: 文章 ID 标题 正文 1 title 1 body 1 2 title 2 body 2 3 title 3 body 3 4 title 4 body...4 标签 ID 标签名 1 Django 学习 2 Python 学习 文章 ID 标签 ID 1 1 1 2 2 1 3 2 多对多的关系无法再像一对多的关系的例子一样文章数据库表加一列

1.3K60

ElementUI 分页+django rest framework

一、概述 之前的文章,链接如下:https://www.cnblogs.com/xiao987334176/p/14313471.html 介绍了ElementUI 分页,前端请求一次接口,获取所有数据...; layout的值表示分页需要显示的内容,例如“total” 表示总数、“next” 表示下一页等; :total的值表示共几页; 因为currentPage、pageSize并不是具体的值,所以需要在...script标签的data()为其进行赋值。...在当所有的值都存在时,界面上会自动把分的页显示出来,如效果图中的:1、2、3……6 其他代码就不做解释了,注释里面写的比较清楚。...api_book" ("id", "title", "price", "pub_date", "publish", "ROWID") VALUES (1, 'python 高级开发实战', 98.63,

1.6K10

初次就这么给了你(Django-rest-framework)

Django-Rest-Framework Django-Rest框架是构建Web API强大灵活的工具包。 简单粗暴,直奔主题。...给工程添加api python manage.py startapp test_restapi # 创建api 创建好之后,接下来,我们需要对django框架进行一些设置了(settings.py...数据库已经同步了,我们还需要在Web API 上添加一些序列化和反序列化的实例的方法,例如 json ,我们可以通过声明序列化器来实现这一点,这些序列化器的工作方式与Django的表单相似,test_restapi...字段标志还可以控制某些情况下序列化程序的显示方式,比如向HTML呈现的情况。 使用序列化器 使用之前我们需要进入Django-shell。..., 'python'), ('style', 'friendly')]) serializer.save() # 我们还可以序列化querysets不是模型实例

1.2K20

Orm之中介模型

什么是中介模型 中介模型针对的是ManyToMany(多对多)的时候第三张表的问题, 中介模型其实指的就是我们不通过Django创建第三张表,如果自己不创建第三张表,而是由django给我们创建,那就不存在你中介模型...图中可以看出,Django创建ForeignKey的时候会在字段后自动添加'_id',所以,我们写第三张表字段的时候就不用加_id了,如下: class Book(models.Model):...'''''' title = models.CharField(max_length=32) authors = models.ManyToManyField(to='Author',through...= models.ForeignKey(to='Book') author_id = models.ForeignKey(to='Author') 中介模型与Django自建表的区别 1、中介模型的第三张表是自己创建的...,所以可以自己任意添加额外的字段,Django自创建的第三张表的字段是固定的 2、中介模型没有add,set  , remove,clear 方法

81950
领券