Django外部キーアクセスはどのように機能しますか

チャールズ・ハロ

私はこのようなモデルを持っているとしましょう。

class Job(models.Model):
    client = models.ForeignKey(Contacts, null=True)

そして、私には仕事jがあるとしましょう。私はこのようにjに属するクライアントにアクセスできることを知っています

 j.client

しかし、

 j.client_id

だから私の質問は、j.clientへのアクセスはどのように機能するのですか?

djangoはclient__idを保存しますか?j.clientが呼び出されると、正しいオブジェクトを見つけるためにクエリを実行しますか?

または、オブジェクト参照がjに保存され、client__idにアクセスすると、ContactオブジェクトからIDが取得されますか?

ソースコードを少し調べましたが、質問に対する答えが見つかりませんでした

異方性

これはドキュメントで説明されていますhttps
//docs.djangoproject.com/en/dev/ref/models/fields/#database-representation

データベースにはclient_idフィールドのみがあります(単一のアンダースコア)

モデルインスタンスにはclient属性があります。これにアクセスすると、Djangoは関連するオブジェクトをデータベースからロードし、別のモデルインスタンスとしてインスタンス化します。

またclient_id、dbフィールドに格納されている、関連オブジェクトの主キー値を持つ属性(1つのアンダースコア)もあります。

ORMクエリを実行する場合、client__id(二重アンダースコア)構文を使用して、関連するモデルのフィールドを検索できます。たとえばclient__nameClientモデルにnameフィールドがある場合にも実行できます。これは、両方のモデルでSQLJOINクエリになります。

例えば

Job.objects.get(client__id=1)
Job.objects.filter(client__name='John')

client = Client.objects.get(pk=1)
Job.objects.get(client=client)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ハスキーはどのように機能しますか?

分類Dev

アバロニアでスタイルセレクターはどのように機能しますか?

分類Dev

TeamViewerの無人リモートアクセスはどのように機能しますか?

分類Dev

このクエリはSQLServerで(アクセスから)どのように機能しますか?

分類Dev

プロパティアクセスはどのように機能し、次の行は何をしますか?

分類Dev

インターンの機能テストから「特別なキー」モジュールにどのようにアクセスしますか?

分類Dev

defined( '_ JEXEC')またはdie( '制限付きアクセス')はどのように機能しますか?

分類Dev

Appiumのクライアントサーバーアーキテクチャでセッションはどのように機能しますか?

分類Dev

RxJavaでタスクのキャンセルはどのように機能しますか?

分類Dev

DjangoのMetaクラスはどのように機能しますか?

分類Dev

MVCCを介したXodusへの同時アクセスはどのように機能しますか

分類Dev

djangoクエリはどのように機能しますか?

分類Dev

この配列要素のアクセス構文はどのように機能しますか?

分類Dev

Djangoアトミックリクエストはどのように機能しますか?

分類Dev

動的オブジェクトアクセスはV8でどのように機能しますか?

分類Dev

jqueryセレクターの<div>はどのように機能しますか?

分類Dev

スキムリンクスコープとは何ですか?どのように機能しますか

分類Dev

スキムリンクスコープとは何ですか?どのように機能しますか

分類Dev

MicrosoftアカウントレスのBitLocker暗号化スキームはどのように機能しますか?

分類Dev

OpenGLはすべてのアーキテクチャとGPUでどのように機能しますか?

分類Dev

WebSocketキーはどのように機能しますか?

分類Dev

Fnキーはどのように機能しますか?

分類Dev

'this'参照にアクセスせずにThreadクラスの静的スリープメソッドはどのように機能しますか?

分類Dev

Gitソース管理セキュリティはどのように機能しますか?

分類Dev

jQueryでallセレクター( "*")はどのように機能しますか?

分類Dev

属性セレクターはJavaFXでどのように機能しますか?

分類Dev

theano のスキャン機能はどのように機能しますか?

分類Dev

telepat.ioはどのように機能しますか?telepat.ioのアーキテクチャ

分類Dev

フォルダアクセス許可-それらはどのように機能しますか?

Related 関連記事

  1. 1

    ハスキーはどのように機能しますか?

  2. 2

    アバロニアでスタイルセレクターはどのように機能しますか?

  3. 3

    TeamViewerの無人リモートアクセスはどのように機能しますか?

  4. 4

    このクエリはSQLServerで(アクセスから)どのように機能しますか?

  5. 5

    プロパティアクセスはどのように機能し、次の行は何をしますか?

  6. 6

    インターンの機能テストから「特別なキー」モジュールにどのようにアクセスしますか?

  7. 7

    defined( '_ JEXEC')またはdie( '制限付きアクセス')はどのように機能しますか?

  8. 8

    Appiumのクライアントサーバーアーキテクチャでセッションはどのように機能しますか?

  9. 9

    RxJavaでタスクのキャンセルはどのように機能しますか?

  10. 10

    DjangoのMetaクラスはどのように機能しますか?

  11. 11

    MVCCを介したXodusへの同時アクセスはどのように機能しますか

  12. 12

    djangoクエリはどのように機能しますか?

  13. 13

    この配列要素のアクセス構文はどのように機能しますか?

  14. 14

    Djangoアトミックリクエストはどのように機能しますか?

  15. 15

    動的オブジェクトアクセスはV8でどのように機能しますか?

  16. 16

    jqueryセレクターの<div>はどのように機能しますか?

  17. 17

    スキムリンクスコープとは何ですか?どのように機能しますか

  18. 18

    スキムリンクスコープとは何ですか?どのように機能しますか

  19. 19

    MicrosoftアカウントレスのBitLocker暗号化スキームはどのように機能しますか?

  20. 20

    OpenGLはすべてのアーキテクチャとGPUでどのように機能しますか?

  21. 21

    WebSocketキーはどのように機能しますか?

  22. 22

    Fnキーはどのように機能しますか?

  23. 23

    'this'参照にアクセスせずにThreadクラスの静的スリープメソッドはどのように機能しますか?

  24. 24

    Gitソース管理セキュリティはどのように機能しますか?

  25. 25

    jQueryでallセレクター( "*")はどのように機能しますか?

  26. 26

    属性セレクターはJavaFXでどのように機能しますか?

  27. 27

    theano のスキャン機能はどのように機能しますか?

  28. 28

    telepat.ioはどのように機能しますか?telepat.ioのアーキテクチャ

  29. 29

    フォルダアクセス許可-それらはどのように機能しますか?

ホットタグ

アーカイブ