以“一篇文章只能属于一个分类;一篇文章有多个标签,一个标签也可以对应多篇文章为例”。数据模型如下:

Django一对多以及多对多关系数据查询Django一对多以及多对多关系数据查询

一对多关系:

这里定义Article和Category两个数据模型,Django会自动创建“项目名_类名”的表,Article表会创建category_id的字段,来对应Category表的id,通过id关联。这种情况下查询某篇文章对应的分类,可以直接在模板中引用article.category,得到的是分类名称;但有时需要查分类id,可以通过article.category.id来访问,也可以通过article.category_id,即直接访问表的字段名。

多对多关系:

文章和标签是多对多关系,Django会额外创建一个表,表里记录是两个数据模型的id,通过id把数据模型管理起来形成多对多关系,当需要查询某篇文章的所有标签时,需要在文章所有标签数据集里迭代查询。

Django一对多以及多对多关系数据查询

最终在浏览器呈现查询结果

Django一对多以及多对多关系数据查询

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2021-11-19
猜你喜欢
  • 2022-02-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-12
  • 2021-12-22
相关资源
相似解决方案