版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/Burgess_zheng/article/details/86593203
目录
Foreginkey
建立表类
跳转:实战之Django之Model建表流程 https://blog.csdn.net/Burgess_zheng/article/details/86564984
路径:project/modes_handle/models.py
from django.db import models class A(models.Model): name = models.CharField(max_length=34) class B(models.Model): name = models.CharField(max_length=34) a_key = models.ForeignKey("A",related_name='n',on_delete=models.CASCADE)
进入项目目录下执行以下面命令(创建表 or 重新生成表结构)
python manage.py makemigrations
python manage.py migrate
根据类表进行django的shell命令行操作外键正反调用
进入项目目录(执行如下命令进行django提供的shell命令行)
F:\Burgess\Python\pycharm实验脚本\test\project_burgess>python manage.py shell
>>> from modes_handle import models >>> A_obj = models.A.objects.create(name='小红') >>> B_obj = models.B.objects.create(name='小明',a_key_id=1) >>> A_obj.name '小红' >>> B_obj.name '小明' >>> B_obj.a_key.name '小红' >>> A_obj.n.first().name '小明' >>> A_obj.n.all()[0].name '小明'
插入:如果创建数据库表B表没有related_name该参数反向调取:(”B表名小写” + “_set”)
A_obj.b_set.first().name #得到结果:小明
主篇:Django之Model操作之一对多外键(ForeignKey)正反调用【ORM篇五】https://blog.csdn.net/Burgess_zheng/article/details/86593434