실전 Django 의 Model 작업 중 하나 인 다 중 키 (ForeignKey) 의 정반 호출

디 렉 터 리 편: Django 의 model 작업 ORM 디 렉 터 리 편 클릭 하여 메 인 편 으로 건 너 뛰 기: Django 의 Model 동작 중 하나 인 다 중 키 (ForeignKey) 의 정반 호출 [ORM 편 5] 클릭 하여 건 너 뛰 기
목차
Foreginkey
    표 클래스 만 들 기     클래스 표 에 따라 django 의 셸 명령 행 에서 외부 키 의 정 역 호출 을 조작 합 니 다 Foreginkey
    테이블 클래스 만 들 기
점프: 실전 의 Django 모델 구축 표 절차 https://blog.csdn.net/Burgess_zheng/article/details/86564984
경로: procject/modeshandle/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操作ORM目录篇 点击跳转
主篇:Django之Model操作之一对多外键(ForeignKey)正反调用【ORM篇五】点击跳转​​​​​​​

좋은 웹페이지 즐겨찾기