


解決策:djangoExceptions.FieldError(\'リレーションには複数のターゲット フィールドがありますが、\'\'要求されたターゲット フィールドは 1 つだけです\')
エラーの理由
FieldError("relation には複数のターゲット フィールドがありますが、要求されたターゲット フィールドは 1 つだけです。" ) このエラーは通常、実際に複数のターゲット フィールドがある関連オブジェクトのフィールドにアクセスしようとすると発生します。
たとえば、モデル「Author」とモデル「Book」があり、それらの間に多対多の関係があるとします。このエラーは、`Author` オブジェクトの `book` フィールドにアクセスしようとしたが、関連付けられたオブジェクトが実際には複数の `Book` オブジェクトに関連付けられている場合に発生します。
この問題を解決するには、複数のターゲット フィールドにアクセスする方法を使用するようにコードを変更する必要があります。たとえば、`Author.book_set.all()` を使用すると、`Author` オブジェクトのすべての `Book` オブジェクトを取得できます。
上記の情報が問題の解決に役立つことを願っています。
解決方法
FieldError("リレーションには複数のターゲット フィールドがありますが、要求されたのは 1 つのターゲット フィールドのみです") エラーを解決するには、次の方法を使用するようにコードを変更する必要があります。複数のターゲットフィールドにアクセスします。具体的には、次のいずれかの方法を使用できます。
- `relative_name` 属性を使用して、関連オブジェクトにアクセスするためのカスタム名を指定します。たとえば、多対多の関係を定義するときに「関連名='書籍'」を指定し、「Author.books.all()」を使用して「著者」オブジェクトのすべての「書籍」オブジェクトを取得できます。
#-Django の `relative_objects` クエリセットを使用して、関連オブジェクトにアクセスします。たとえば、`Author.relative_objects.all()` を使用すると、`Author` オブジェクトのすべての関連オブジェクトを取得できます。
- DjanGo の `through` パラメーターを使用して中間モデルを作成し、この中間モデルを使用して関連オブジェクトにアクセスします。たとえば、中間モデル `BookAuthor` を定義したと仮定すると、`Author.bookauthor_set.all()` を使用して `Author` オブジェクトのすべての `BookAuthor` オブジェクトを取得し、各 `BookAuthor` オブジェクトにアクセスできます。 book` フィールドを使用して、対応する `Book` オブジェクトを取得します。
何が問題だったのかを調べるために、コードをデバッグする必要がある場合があります。以下に役立つ手順をいくつか示します。 - 関連するフィールドが正しいことを確認してください。たとえば、多対多の関係を定義する場合は、`ForeignKey` や `OneToOneField` ではなく、`ManyToManyField` フィールドを使用して関係を表す必要があります。#- 関連するオブジェクトが正しく設定されていることを確認してください。たとえば、多対多の関係がある場合は、各モデル間に `ManyToManyField` フィールドを定義し、もう一方を `relative_name` パラメーターとして指定する必要があります。
#- 中間モデルを使用して関連を表す場合は、中間モデルを正しく定義し、正しい `through` パラメーターを指定していることを確認してください。#-- カスタム名を使用して関連オブジェクトにアクセスする場合は、「関連付けられた名前」パラメータが正しく指定されていることを確認してください。
- Django のデバッグ
toolsを使用して、クエリセットが正しいかどうかを確認してください。たとえば、`.query` プロパティを使用して生成された
sqlステートメントを確認したり、`print(list(qs))` を使用してクエリ セットに含まれるオブジェクトを確認したりできます。 上記の情報がお役に立てば幸いです。 使用例
ここでは、`Book` モデルと `Author` モデルがあり、複数の書籍を許可する多対多の関係を定義したいと仮定した例を示します。複数の著者がおり、各著者は複数の本を書くことができます:
class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author, related_name='books')
これで、次の方法で関連オブジェクトにアクセスできるようになります:
# 获取书的所有作者 book.authors.all() # 获取作者写的所有书 author.books.all()
関連フィールドを定義するときに、間違ったフィールド タイプを使用する (たとえば、`ManyToManyField` の代わりに `ForeignKey` を使用する) などの問題が発生した場合、「リレーションには複数のターゲット フィールドがあります」のようなエラー メッセージが表示されることがあります。 。この場合、コードをチェックして、正しいフィールド タイプを使用していることを確認する必要があります。
間違った名前を使用するなど、関連付けられたオブジェクトへのアクセスに問題がある場合 (例: 著者のリストを取得するために `book.authors.all()` の代わりに `book.authors` を使用しようとする)、 「このメソッドはサブクラスで実装する必要があります」のようなエラー メッセージが表示される場合があります。この場合、コードをチェックして、関連付けにアクセスするための正しい方法を使用していることを確認する必要があります。申し訳ありませんが、何を質問しようとしているのかわかりません。引き続きご質問いただければ、お答えさせていただきます。
以上が解決策:djangoExceptions.FieldError(\'リレーションには複数のターゲット フィールドがありますが、\'\'要求されたターゲット フィールドは 1 つだけです\')の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このチュートリアルでは、Pythonを使用してZIPFの法則の統計的概念を処理する方法を示し、法律の処理時にPythonの読み取りおよび並べ替えの効率性を示します。 ZIPF分布という用語が何を意味するのか疑問に思うかもしれません。この用語を理解するには、まずZIPFの法律を定義する必要があります。心配しないでください、私は指示を簡素化しようとします。 ZIPFの法則 ZIPFの法則は単に意味します。大きな自然言語のコーパスでは、最も頻繁に発生する単語は、2番目の頻繁な単語のほぼ2倍の頻度で表示されます。 例を見てみましょう。アメリカ英語の茶色のコーパスを見ると、最も頻繁な言葉は「thであることに気付くでしょう。

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

ノイズの多い画像を扱うことは、特に携帯電話や低解像度のカメラの写真でよくある問題です。 このチュートリアルでは、OpenCVを使用してPythonの画像フィルタリング手法を調査して、この問題に取り組みます。 画像フィルタリング:強力なツール 画像フィルター

データサイエンスと処理のお気に入りであるPythonは、高性能コンピューティングのための豊富なエコシステムを提供します。ただし、Pythonの並列プログラミングは、独自の課題を提示します。このチュートリアルでは、これらの課題を調査し、グローバルな承認に焦点を当てています

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

このチュートリアルでは、Python 3にカスタムパイプラインデータ構造を作成し、機能を強化するためにクラスとオペレーターのオーバーロードを活用していることを示しています。 パイプラインの柔軟性は、一連の機能をデータセットに適用する能力にあります。

Pythonオブジェクトのシリアル化と脱介入は、非自明のプログラムの重要な側面です。 Pythonファイルに何かを保存すると、構成ファイルを読み取る場合、またはHTTPリクエストに応答する場合、オブジェクトシリアル化と脱滑り化を行います。 ある意味では、シリアル化と脱派化は、世界で最も退屈なものです。これらすべての形式とプロトコルを気にするのは誰ですか? Pythonオブジェクトを維持またはストリーミングし、後で完全に取得したいと考えています。 これは、概念レベルで世界を見るのに最適な方法です。ただし、実用的なレベルでは、選択したシリアル化スキーム、形式、またはプロトコルは、プログラムの速度、セキュリティ、メンテナンスの自由、およびその他の側面を決定する場合があります。

Pythonの統計モジュールは、強力なデータ統計分析機能を提供して、生物統計やビジネス分析などのデータの全体的な特性を迅速に理解できるようにします。データポイントを1つずつ見る代わりに、平均や分散などの統計を見て、無視される可能性のある元のデータの傾向と機能を発見し、大きなデータセットをより簡単かつ効果的に比較してください。 このチュートリアルでは、平均を計算し、データセットの分散の程度を測定する方法を説明します。特に明記しない限り、このモジュールのすべての関数は、単に平均を合計するのではなく、平均()関数の計算をサポートします。 浮動小数点数も使用できます。 ランダムをインポートします インポート統計 fractiから
