2016-04-06 5 views
1

を持っています。
私のプロジェクトは複数のデータベースを使用しています。私はDjangoのオブジェクトは、PKをやりなさい私はジャンゴ内のオブジェクトに問題があるID

obj, _created = self.model.objects.using('default').get_or_create(pk=1) 

OBJを使用してオブジェクトを作成する場合はPKを持っていますが、ID

ipdb> obj.pk ipdb> obj.id 1
を持っていないこれはなぜ起こったのか?

+0

これを見てくださいhttp://stackoverflow.com/questions/22345711/whats-the-difference-between-model-id-and-model-pk-in-djangoとそこにあるリンク – trinchet

答えて

0

まず、この答えを見て: What's the difference between Model.id and Model.pk in django? Django queries - id vs pk

そして 'get_or_create' のドキュメントを: https://docs.djangoproject.com/en/1.9/ref/models/querysets/#get-or-create

オブジェクトは、彼が 'BD' から回収された 'PK' を有します。 おそらくオブジェクトが作成され、変数 '_created'をチェックし、新しいオブジェクトが作成されたか 'bd'から復元されたかを指定します。

+0

申し訳ありませんが、私はこのオブジェクトを更新しようとします。彼はdbに存在するので、_cretatedはFalseを返す –

関連する問題