| « Mac OS X Snow Leopard QuickTimeの動画再生対応フォーマットを劇的に簡単に増やす方法 | Mac OS X でTomBoyみたいなソフト » |
DjangoのManyToManyでハマッタ
ことだまんです。
ViewやTemplate内でリレーション先のオブジェクトをループ参照などすると
ManyRelatedManager' object is not iterable
イテレーターオブジェクトじゃないよ。
っと怒られました。
多対多テーブルにクエリーを投げてあげないと中身がないんでエラーになるようですな。
とりあえずView内で参照したい場合は
object.hoge.all()
などとして評価してあげないといけない。
ちなみにテンプレート内では
{{ object.hoge.all }}
のようにしてあげれば評価可能。
自分のメモ用に断片コードをのせておく。(View内)
taggroup = TagGroupM.objects.all()
for tag_g in taggroup:
print tag_g.Name
for tag in tag_g.TagID.all():
print tag.Name
print '-----------'
相変わらずインデントしてソースを載せられないと言ってみるテストwww