Python Django:我如何判断RelatedManager中所有对象的特定质量是否相同?

Python Django:我如何判断RelatedManager中所有对象的特定质量是否相同?,python,django,Python,Django,假设我有一个很多的领域,从燕子-=>椰子 另外,假设couch有一个名为“Young”的布尔字段 对于一只特定的燕子,我如何判断它的椰子是否都是年轻的 (我真正想要的不是判断燕子的椰子是否年轻的能力,而是判断查询集中的项目之间是否存在差异值的方法。) 编辑: 据我所知,没有queryset方法可以做到这一点,但您可以自己创建,如: # property_values is a dictionary : {prop1:val1, prop2:val2,...} # you can check fo

假设我有一个很多的领域,从燕子-=>椰子

另外,假设couch有一个名为“Young”的布尔字段

对于一只特定的燕子,我如何判断它的椰子是否都是年轻的

(我真正想要的不是判断燕子的椰子是否年轻的能力,而是判断查询集中的项目之间是否存在差异值的方法。)

编辑:

据我所知,没有queryset方法可以做到这一点,但您可以自己创建,如:

# property_values is a dictionary : {prop1:val1, prop2:val2,...}
# you can check for multiple properties

def is_same_property_value(related_manager, property_values)
    return related_manager.filter(~Q(**property_values)).count() == 0


res = is_same_property_value(swallow.coconuts_set, {'young':true})

好的,我知道了。我需要:

swallow.coconuts.aggregate(test=Variance('young'))

如果是0,我知道它们都是一样的。

但我不希望它只适用于“年轻人”或布尔人。我只是想知道,对于一个给定的relatedmanager,是否所有的相关对象对于给定的字段都具有相同的值。这适用于数字和布尔字段,但不适用于文本字段(例如,如果您想检查所有椰子是否都有“棕色”颜色)。
swallow.coconuts.aggregate(test=Variance('young'))