如何用Django将两个模型的数据进行有效聚合?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1406个文字,预计阅读时间需要6分钟。
在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中,我想要将模型类聚合到所需的数据可用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时会报错。。真是搞不懂,后来我直接使用字段名居然可以,醉了。

