ORM外键使用详解

旧城冷巷雨未停 提交于 2019-12-04 13:06:56

 

前提是创建好了一个ORM框架

 

 

 

在cmd中(有虚拟环境的需要进入虚拟环境以及该项目的路径)使用  python manage.py makemigrations  和  python manage.py migrate 

迁移脚本并且映射到数据库

使用nacicat打开这个数据库

 

 

就可以看到关联了category了,也就是这个category_id也就是这个category表中对应的数据了

 

使用这个外键小练手:

 1.在包下的views.py中写上相应的视图函数

 

 

2.在该包下新建一个urls.py,映射视图函数

 

 

3.在总项目的urls.py中使用include做一个总映射即可

 

 

4.接下来运行这个django项目

目前是看不到效果的,想看到 Article  关联 Category 的数据的话,

正常在views.py中使用ORM的增删改差中的查来具体查询数据

(

 article = Article.objects.first()

 print(article.category.name)

)

在重新运行django即可

 

 

 PS:上面的例子外键关联是在同在同一个app(book)下的如果要引用另外一个app的呢

 先创建一个新的app包

 

 创建一个简单的ORM模型

 

 

在settings.py中配置这个包

 

 

接着在cmd(有虚拟环境的进入虚拟环境,并且路径是该项目的路径)中生成迁移脚本文件并且映射到数据库

python manage.py startapp frontuser

python manage.py migrate

 

 

在包中对其他包下的做外键关联

 

 

接着继续在生成脚本文件在做映射

 

 

在打开navicat就可以看到

 

 关联上了

 

 

 

额外 :  如果是关联自身的话   

那么这一步可以用三种写法:

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!