以下の each.category_id.all() の呼び出しが機能しない理由を理解しようとしています。基本的に、category_ids は見つかりませんが、そのテーブルには値が入力されています。
私は次のモデル/関係を持っています:
class GlobalPart (Models.model):
...
category_id=models.ManyToManyField(Category, related_name = 'globalpart')
...
と
class Category (Model.model):
...
category = models.CharField(max_length=250)
...
脚本:
def addcatsfromlist(self):
globalparts = GlobalPart.objects.all()
for each in globalparts:
for catid in each.category_id.all():
print catid
注: また、django シェルを開いて、GlobalPart の特定のエントリに対してこれを実行しようとしましたが、これ[]
を実行すると空が表示されます。しかし、間違いなく category_id のエントリがあるため、何が間違っているのかわかりません。
例えば:
>>> mypart = GlobalPart.objects.get(pk=1)
>>> print mypart.category_id.all()
[]