Django获取对象的所有ManyToMany关系

时间:2016-11-30 19:08:57

标签: python django django-models

我的所有模特都与其他模特和他们自己有几个ManyToMany关系,他们都有一个“通过”表

假设我的模型AManyToManyField模型BC,我们还要考虑字段名称与相关模型相同< / p>

我的模型D有一个模型为A的ManyToManyField。

现在,我希望获得与ABC

类的D对象相关的所有对象

这就是我的尝试:

a1 = A.objects.get(pk = 1)
#Get all B objects related to A
a1.b.all()
#Get all C objects related to A
a1.c.all()
#Get all D objects related to A but from D class because that's where the field is
#Raises error 'ManyToManyDescriptor' object has no attribute 'all'
D.a.all(pk=1)

可以找到实际模型here(我的问题在于Pessoa和CCir)。

1 个答案:

答案 0 :(得分:3)

您可以使用import java.util.Scanner; public class arrayssumofodd { public static void main(String args[]) { Scanner scan = new Scanner(System.in); int rows=scan.nextInt(); int columns=scan.nextInt(); int array[][]=new int [rows][columns]; int odd=0; int sum=0; int num=0; for(int i=0;i<rows;i++) { for(int j=0; j<columns;j++) { array[i][j]=scan.nextInt(); num=array[i][j]; } for(int k=0;k<rows;k++) { for(int m=0;m<k;m++) { if(num%2!=0) { odd++; sum+=odd; } } } } System.out.println("Odd number count "+" = " +odd); System.out.println("Sum of odd numbers "+" = " +sum); } } 获取反向关系,或使用您提供的代码:

a.d_set.all()

您也可以考虑为您的m2m模型提供obj = Pessoa.objects.get(pk=1) # get the object obj.ccir_set.all()