1

有具有 ManyToMany 字段的模型:

class Number(Model):
    current_number = IntegerField()

class MyModel(models.Model):
    numbers_set = models.ManyToMany(Number)

例如我们有这样的数据集:

my_model_1.numbers_set = [1, 2, 3, 4]
my_model_2.numbers_set = [2, 3, 4, 5]
my_model_3.numbers_set = [3, 4, 5, 6]
my_model_4.numbers_set = [4, 5, 6, 7]
my_model_5.numbers_set = [4, 5, 6, 7]

我正在寻找一种方法来聚合 MyModel 按相同数字的数量。

fe MyModel 对象在他们的 numbers_set 中至少有 3 个相同的数字。

[
    [my_model_1, my_model_2],
    [my_model_2, my_model_3],
    [my_model_3, my_model_4, my_model_5],
]
4

1 回答 1

0

如果您使用的是 Postgres 版本 9.4 和 Django 版本 1.9 ,最好使用JSONField()而不是 using ManyToMany(),出于索引目的使用jsonbPostgres 上的索引,这将为您提供有效的数据查询查询。在这里检查

于 2016-05-11T10:45:21.620 回答