既存のモデルとdjangoで多対1の関係を作成する

放浪者0810

djangoの既存のモデルと多対1の関係を作成するにはどうすればよいですか?見るとドキュメンテーション、あなたは外部キーを作成し、他のモデルを参照して作成したオブジェクトができていることがわかります。

例えば、

r = Reporter(first_name='John', last_name='Smith', email='[email protected]')
r.save()
a = Article(id=None, headline="This is a test", pub_date=date(2005, 7, 27), reporter=r)
a.save()

その後、rwithのIDにアクセスできますa.reporter.id

ただし、これに関する1つの問題は、rthroughのIDを確認するa場合は、aそれを行うために作成する必要があることです。

既存のモデルでこれをどのように行いますか?

たとえば、ユーザーがいて、ユーザーがゲームの複数のキャラクターを作成できるようにしたい場合、ユーザーがすでに存在する場合、そのキャラクターに外部キーを割り当てるにはどうすればよいですか?

見ると、この答えは、あなたはあなたが外部キーに参照したいというモデルを与える必要があることを見たが、それは実際にそれを行う方法を説明していません。

スマイリークリス

既存のモデルでこれをどのように行いますか?

参照しているモデルが不明です。既存のレポーターを意味する場合は、それを取得してまったく同じ方法で実行します。

r = Reporter.objects.get(email='[email protected]')
a = Article(headline="This is a test", pub_date=date(2005, 7, 27), reporter=r)
a.save()

既存の記事を意味する場合は、他のモデルインスタンスフィールドと同じように外部キーを変更できます。

a = Article.objects.get(headline="This is a test")
a.r = Reporter.objects.create(...)   # or .get() depending on what you want.
a.save()

ユーザーがすでに存在する場合、キャラクターに外部キーを割り当てるにはどうすればよいですか?

同じロジックを使用して、ユーザーを取得し、この既存のユーザーオブジェクトで新しいキャラクターを作成します。

# Get user, or if this was the logged in user maybe just request.user
user = User.objects.get(username='wanderer')

# Create the character, using the existing user as a foreign key
# (the .create is just shorthand for creating the object then saving it)
Character.objects.create(character_name='Trogdor', user=user)

# Or alternatively, you can simply use the implicit reverse relationship
user.character_set.create(character_name='Homestar Runner')

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Djangoモデルで1対多の関係を追加する

分類Dev

モデルとデータベーステーブルの間に1対多の関係を作成する

分類Dev

DynamoDBで1対1、1対多、および多対多の関係をモデル化する方法

分類Dev

モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

分類Dev

多対1または無の関係を持つDjangoモデルと多対多の関係?

分類Dev

Django:モデルのFKをモデルのPKを介してリンクさせて、1対多の関係にすることは可能ですか?

分類Dev

Django:多モデルの特定の属性を持つ既存の関係について1対多の関係をクエリします

分類Dev

Sails0.10.xと1対多の関係で関連モデルを参照する方法

分類Dev

不要なモデルを作成せずに、モデルファクトリ、1対1および1対多の関係でLaravel外部キーを定義する

分類Dev

モデルとの1対1の関係を更新するlaravel

分類Dev

Djangoは多対多の関係をモデル化します

分類Dev

モデル内でそれ自体に対して多対多の関係を作成する

分類Dev

Djangoモデルで1対1の関係を使用する場合

分類Dev

抽象クラスとの多対多の関係をモデル化する

分類Dev

Djangoの同じモデルに対する複数の多対多の関係

分類Dev

多対多の関係をLaravel-モデルを取得する

分類Dev

バッファローモデルで多対多の関係を指定する

分類Dev

コードで多対多の関係をモデル化する方法は?

分類Dev

mirage jsで多形の1対1の関係を持つモデルをシードする方法は?

分類Dev

Hibernateで1対多の関係をモデル化するための最良の方法

分類Dev

タプルのリストで1対多の関係を作成する方法

分類Dev

データベースで1対多の関係をモデル化する方法

分類Dev

多対多の関係を持つ3つのモデルのフォームを作成する方法

分類Dev

Postgresqlで多対1の関係を持つテーブルを作成する

分類Dev

Yii2で1対多の関係を作成する

分類Dev

Spring BootHibernateで1対多の関係を作成する方法

分類Dev

Django:既存のモデルにFK関係を追加する

分類Dev

Ruby on Railsでモデル間に1対多の関係を作成するにはどうすればよいですか?

分類Dev

「多対多」の関係を作成する

Related 関連記事

  1. 1

    Djangoモデルで1対多の関係を追加する

  2. 2

    モデルとデータベーステーブルの間に1対多の関係を作成する

  3. 3

    DynamoDBで1対1、1対多、および多対多の関係をモデル化する方法

  4. 4

    モデルユーザーとそれ自体のSQLAlchemy(python、flask)で多対多の関係を作成する方法

  5. 5

    多対1または無の関係を持つDjangoモデルと多対多の関係?

  6. 6

    Django:モデルのFKをモデルのPKを介してリンクさせて、1対多の関係にすることは可能ですか?

  7. 7

    Django:多モデルの特定の属性を持つ既存の関係について1対多の関係をクエリします

  8. 8

    Sails0.10.xと1対多の関係で関連モデルを参照する方法

  9. 9

    不要なモデルを作成せずに、モデルファクトリ、1対1および1対多の関係でLaravel外部キーを定義する

  10. 10

    モデルとの1対1の関係を更新するlaravel

  11. 11

    Djangoは多対多の関係をモデル化します

  12. 12

    モデル内でそれ自体に対して多対多の関係を作成する

  13. 13

    Djangoモデルで1対1の関係を使用する場合

  14. 14

    抽象クラスとの多対多の関係をモデル化する

  15. 15

    Djangoの同じモデルに対する複数の多対多の関係

  16. 16

    多対多の関係をLaravel-モデルを取得する

  17. 17

    バッファローモデルで多対多の関係を指定する

  18. 18

    コードで多対多の関係をモデル化する方法は?

  19. 19

    mirage jsで多形の1対1の関係を持つモデルをシードする方法は?

  20. 20

    Hibernateで1対多の関係をモデル化するための最良の方法

  21. 21

    タプルのリストで1対多の関係を作成する方法

  22. 22

    データベースで1対多の関係をモデル化する方法

  23. 23

    多対多の関係を持つ3つのモデルのフォームを作成する方法

  24. 24

    Postgresqlで多対1の関係を持つテーブルを作成する

  25. 25

    Yii2で1対多の関係を作成する

  26. 26

    Spring BootHibernateで1対多の関係を作成する方法

  27. 27

    Django:既存のモデルにFK関係を追加する

  28. 28

    Ruby on Railsでモデル間に1対多の関係を作成するにはどうすればよいですか?

  29. 29

    「多対多」の関係を作成する

ホットタグ

アーカイブ