Django关系模型外键自关联示例——省市三级链接
自关联,顾名思义,关联自己
下面的例子会讲一下自我管理(三级的例子-省市级联动)
- 省的上级(上级)无
- 市的上级(上级)为省
- 区的上级(上级)为市
如果发现某个地区的主体部分为 None ,则表明该地区是省级地区。如果为None,可以知道该地区是哪个省、市、区
Model class:
class Area(models.Model):
"""
省市三级链接自治市
“””
name = models.CharField(max_length=20,verbose_name='name')
parent = models.ForeignKey('self',on_delete=放入SET_NULL', related_name_NULL', related_name_NULL' . class AreaSer(serializers.ModelSerializer):
class Meta:
model = Area
fields = ('id',' ):
# 外键序列化
subs = AreaSer( Many=True ,read_only=True)
class Meta:
model = Areafields,' 'subs')
View:只进行查询操作,所以选择ReadOnlyModelViewSet视图集
class AreaView(ReadOnlyModelViewSet):
# 覆盖查询集和序列化 class
def get_queryset(self):
if self.action == 'list':re. objects.filter(parent=None)
else:
return models.Area.objects.all()
def get_serializer_class(self):
if self' if self''list return ser.AreaSer
其他:
return ser.SubSer
路由:
router = StandardRouter()
'areas.are'register,(a.')
urlpatterns += router.urls
测试:
详情页
———————————————
版权声明:本文为CSDN“happy_leizi”原创文章,遵循版权协议 CC 4.0 BY-SA。转载时请附上原始出处链接及本免责声明。
原文链接:https://blog.csdn.net/happy_leizi/article/details/88662952
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。