模型关联关系
一对多的关系:就把一的表中的主键放到多的表中作为外键
多对多的关系:就会产生一张关联关系的表 存储俩张表中的主键id
模型表
正项查询:有外键的表查询没有外键的表
def gettwo(request): b = Shang.objects.all() #商品表 yang = [] #定义一个空数组 for i in b: #循环 商品表 yang.append({ #数组添加 'id': i.id, 'img':i.img, #需要查看的数据(字段) 'username': i.username, 'price': i.price, 'shang_id':i.shang_id.name #外键字段,键名字可以自定义,值: 商品表的外键关联类表name字段 查询出来商品是在哪一个类的下面 }) return JsonResponse({'code': 200, 'message': '成功','data':list(yang)})
正项查询的结果图: shang_id:类表的name字段
反向查询:没有外建的表关联有外建的表
def getone(request): a = User.objects.all() 类的表 yang=[] for i in a: yang.append({ 'id':i.id, 'img':i.img, 'name':i.name, 'user_shang':list(i.shang_set.all().values()) #list(i.shang_set.all().values().filter().count()) #user_shang:可以直定义,对应的数据 商品表的全部数据 也可以进行筛选 返回条数 }) return JsonResponse({'code': 200, 'message': '获取成功', 'data':yang})
反项查询的结果: 类表下面有俩条数据