から「マトリックス」を行います。私はこれと同じモデルを持っているDjangoのクエリ
class MyModel(models.Model):
name = models.CharField(max_length = 30)
a = models.ForeignKey(External)
b = models.ForeignKey(External, related_name='MyModels_a')
def __unicode__(self):
return self.a + self.b.name + self.b.name
私はそれを照会するときだから私はこのような何かを得る:
>>> MyModel.objects.all()
[<MyModel: Name1AB>,<MyModel: Name2AC>,<MyModel: Name3CB>,<MyModel: Name4BA>,<MyModel: Name5BA>]
を私がしたいですこのデータを以下のように表現する。
[[ [] , [Name1AB] , [Name2AC] ]
[ [Name4BA, Name5BA] , [] , [] ]
[ [] , [Name3CB] , [] ]]
ご覧のとおり、モデルの行は「a」になります。カラムは 'b'になるでしょう 私はこれを行うことができますが、実際のデータベースでは多くのデータがあるため、時間がかかります。私はこれを行うには、ジャンゴが構築されているかどうかを知りたいです。
私はこのようにそれをやっている:
mymodel_list = MyModel.objects.all()
external_list = External.objects.all()
for i in external_list:
for j in external_list:
print(mymodel_list.filter(a=i).filter(arrl=j).all(),end='')
print()
おかげ
を読む必要があります。私はスクリプトをテストしているので私はプリントを使用しています(私たちはビューを作成するために近くにいません)。そして、それは '外部'では重複を持つことができないので、しかし、私はabがbaとは違うという意味で 'a'と 'b'の関係に興味があります。しかし、それらは素晴らしいアイデアです、私はこれをもう一度やり直すことができると思います。ありがとう – Darkade