【Django】省市区三级联动自关联表的分析

本文探讨了在Django中实现省市区三级联动的场景,详细介绍了如何使用自关联表进行数据建模,并讨论了在数据库建模过程中遇到的问题,包括`self`关键字和`related_name`的含义,提供了具体的数据库设计示例。
摘要由CSDN通过智能技术生成

什么是省市区三级联动?

在收货地址的录入,考试考区的选择…等场景中都会用到省市区三级联动,即:页面加载后,向后端请求省份数据,用户选择省份后,向后端请求该省份的市级信息,当用户选择市级后,向后端请求该市下的所有区县信息,我们把这个过程称为省市区三级联动。
如图:京东购物车结算的地址选择在这里插入图片描述

自关联表的形式

在这里插入图片描述

  • 以河北省举例,所有的省市区县信息全在一张表中,id为自增id,name为城市名,parent_id为关联外键
  • 省级为最高,所以河北省外键为None,市级的外键为该市所对应的省的id,石家庄市在河北省之下,所以外键为河北省的id,区县一级的外键为该区县所属的市的id,如,无极县和新华区都是石家庄市下的区县,所以关联外键为石家庄市的id。
  • 在数据库中的具体体现:
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值