私はこのようになりますDjangoのモデルで働いています:存在しないオブジェクトを作成するOneToOneFieldを作成できますか?
あるclass Subscription(models.Model):
user = models.OneToOneField(User)
は、それはDjangoのauth
モジュールからUser
クラスと1対1の関連を持っています。この関連付けはオプションではありません。
sub = user.subscription
DoesNotExist
例外がスローされます。ただし、ユーザーがは、このようなコードがあることを意味関連するサブスクリプションを、持っていんれる場合は、一部のレガシーコードとデータベースとのいくつかの手動の工夫のおかげであります。しかし、コードベースの多くは、すべてのユーザが関連するSubscription
オブジェクトを持っていることを前提としています。
は私が関連付けられているSubscription
オブジェクトがデータベースに存在しない場合、私は1つを作成し、user.subscription
が呼び出されたときにそれを返す代わりに、例外をスローするのOneToOneField
ように、そのサブクラスができ方法はありますか?
一度だけデシベルを修正し、あなたのコードをリファクタリングし、ユーザー
1つのクエリですべてのレガシーユーザーを処理できます。 –