[解決済み] TypeErrorです。ManyRelatedManagerオブジェクトはイテラブルではありません。
2022-01-30 02:39:56
質問
Many Related Manager is not iterable というエラーが発生し、解決することができません。以下のようなA、Bというモデルを持っています。
class B(models.Model):
indicator = models.CharField(max_length=255, null=True)
tags = models.CharField(max_length=255, null=True, blank=True)
class A(models.Model):
definitions = models.ManyToManyField(B)
user = models.ForeignKey('userauth.ABCUSER', null=True, blank=True)
project = models.ForeignKey('userauth.ProjectList', null=True, blank=True)
クラスBの属性を含むモデルAの定義属性を取得したいのですが、以下のように取得しようとすると、エラーが発生します。
TypeError: ManyRelatedManagerオブジェクトは反復可能ではありません。
if tbl_scope == 'Generic':
checked_objects = A.objects.get(user=user, project=project)
for checked_object in checked_objects.definitions:
print(checked_object.indicator)
解決方法は?
m2mフィールドは、関連マネージャーオブジェクトとして返されるため、反復可能ではありません。allを使用してクエリセットに変換し、イテレート可能にする必要があります。
if tbl_scope == 'Generic':
checked_objects = A.objects.get(user=user, project=project)
for checked_object in checked_objects.definitions.all():
print(checked_object.indicator)
について詳しく説明しています。 m2m フィールドを使用します。
関連
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] オブジェクトの種類を決定しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり