## 外键
假设有作者,出版社,书籍三种模型,则
~~~py
class Book(models.Model):
name = models.CharField(max_length=20)
pub = models.ForeignKey(Publisher, related_name='pub')
authors = models.ManyToManyField(Author, related_name='author')
~~~
在上面这种情况下,如果用出版社的实例反向查找出版的书本,我们只需要使用
~~~py
pub1.pub.all()
~~~
即可,而不是使用默认的
~~~py
pub1.book_set.all()
~~~
这样的方式
如果外键字段的null设置为了True,我们还可以通过这个对象直接设置None删除关联性
~~~py
>>> e = Entry.objects.get(id=2)
>>> e.blog = None
>>> e.save() # "UPDATE blog_entry SET blog_id = NULL ...;"
~~~
- Django基础
- 模型
- 外键
- Model Manager
- 过滤器函数
- 查询对象
- 字段的细节
- QuerySet的应用
- 视图
- Django类视图
- 权限控制
- Django进阶
- 中间件
- _meta组件
- 信号
- User模块
- prefetch_related和select_related的区别
- 较少被用到的查询对象
- Django的深层设计理念
- Declarative Syntax
- django的migration操作
- 较少用到的Queryset方法的一些坑
- Django配置
- Django环境配置变量
- Django源码阅读
- ORM
- QuerySet源码
- Query源码
- Q&F
- Model和Manager的详解
- Http请求响应
- HttpRequest
- 自建数据结构
- Django开发辅助工具
- Django-rest-framework
- Serializer
- 异步任务调度器Celery
- 数据库补充
- 定义
- 字段
- 事务
- 视图
- 函数
- 联结
- 窗口函数
- GROUPING运算符
- HAVING谓词
- django_bulk_update
- django_bulk_update源码分析
- 项目小功能开发
- Django的一些小细节