明天用到 ForeignKey 遗记怎么用了,网上查了一大堆写的乌七八糟,最初终于登录了 django 官网看了以下文档,真是写的简单明了,搞不懂网上一些教程非要将简略的货色复杂化。
依据官网的解释,我再来简化以下
第一步创立模型:
# 一级分类表
class TopCategory(BaseModel):
title_zh = models.CharField(max_length=32, verbose_name='中文题目')
# 二级分类
class 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='关联外键')
反向查问 就是用被关联的模型(一级分类)查问关联的模型(二级分类)
# 获取本身 id 为 1 的数据,例如一级分类下的:动物
row_data = models.TopCategory.objects.get(id=1)
#而后查看一级分类下有哪些二级分类,动物 -> 乌龟,兔子,小鸟,麻雀...
res = row_data.topcategory.all()
正向查问 和下面反过来
# 获取获取所有二级分类数据
row_data = models.CategoryTag.objects.all()
#而后查问这些二级分类都对应者那些一级分类例如 [水, 华, 冰块, 石头]-> 天然,[老虎, 狮子]-> 动物
res = row_data.top_category
#间接获取一级分类名称,如果须要获取 ID 学写 top_category_id