如何用Django将两个模型的数据进行有效聚合?

2026-05-26 22:390阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1406个文字,预计阅读时间需要6分钟。

如何用Django将两个模型的数据进行有效聚合?

在Django中,我想要将模型类聚合到所需的数据可用F对象。例如,有模型A和B,A和B之间有外键关联,A是子表,B是父表(反向过来没试过)。由于大部分数据都是用子表的形式存储的,我想实现可聚合。

Django中想要把模型类聚合得到想要的数据可以用F对象。

比如有模型类A和B,A和B之间有外键关联在一起,A是子表,B是父表(反过来没试过。。因为大部分数据都是用子表的,我想是可以的),那么可以这样查:

A.objects.filter(userid=3,bookid=F(bid))

其中userid,bookid是模型类A的字段,bid是模型类B的字段。

这样操作的结果就是可以查询到userid为3且模型类A字段bookid等于模型类B字段bid的集合数据了。

F对象是可以比较两个关联模型类的字段数据的。

我看到网上有说F对象可以这样用F('b__id') ==>F('模型类名小写__字段名'),此处是双下划线。

但是我用Django2.0时会报错。。真是搞不懂,后来我直接使用字段名居然可以,醉了。

阅读全文
标签:数据

本文共计1406个文字,预计阅读时间需要6分钟。

如何用Django将两个模型的数据进行有效聚合?

在Django中,我想要将模型类聚合到所需的数据可用F对象。例如,有模型A和B,A和B之间有外键关联,A是子表,B是父表(反向过来没试过)。由于大部分数据都是用子表的形式存储的,我想实现可聚合。

Django中想要把模型类聚合得到想要的数据可以用F对象。

比如有模型类A和B,A和B之间有外键关联在一起,A是子表,B是父表(反过来没试过。。因为大部分数据都是用子表的,我想是可以的),那么可以这样查:

A.objects.filter(userid=3,bookid=F(bid))

其中userid,bookid是模型类A的字段,bid是模型类B的字段。

这样操作的结果就是可以查询到userid为3且模型类A字段bookid等于模型类B字段bid的集合数据了。

F对象是可以比较两个关联模型类的字段数据的。

我看到网上有说F对象可以这样用F('b__id') ==>F('模型类名小写__字段名'),此处是双下划线。

但是我用Django2.0时会报错。。真是搞不懂,后来我直接使用字段名居然可以,醉了。

阅读全文
标签:数据