当前位置: 首页 > 后端技术 > Python

DjangoForeignKey关联查询

时间:2023-03-25 21:42:40 Python

今天用了ForeignKey忘记怎么用了。在网上查了一大堆乱七八糟的写法,最后登录django官网看了下面的文档。这真的很简单明了。不明白有些网上的教程怎么把简单的东西搞的很复杂。根据官网的解释,我将以下第一步简化创建模型:#Level1分类表类TopCategory(BaseModel):title_zh=models.CharField(max_length=32,verbose_name='Chinesetitle')#二级分类类CategoryTag(BaseModel):title_zh=models.CharField(max_length=32,verbose_name='中文标题')top_category=models.ForeignKey(to=TopCategory,on_delete=models.DO_NOTHING,related_name='topcategory',verbose_name='associatedforeignkey')反向查询就是利用关联模型(一级分类)查询关联模型(二级分类)#获取自身id为1的数据,比如一级分类下:动物row_data=models.TopCategory.objects.get(id=1)#然后查看一级分类下的二级分类,动物->乌龟,兔子,鸟,麻雀...res=row_data.topcategory.all()转发query和上面依次#get和get所有二级分类数据row_data=models.CategoryTag.objects.all()#然后查询这些二级分类对应那些一级分类比如[水,瓷,冰,石头]->自然,[老虎,狮子]->动物资源=row_data.top_category#直接获取一级分类名称,如果需要获取id,学习写top_category_id