1

このコードがあります:

class SomeModel(models.Model):
    pass

class OtherModel(models.Model):
    some_model = models.ForeignKey(SomeModel)

om = OtherModel()
if om.some_model:
    pass

スローされる例外は次のとおりです。

models.DoesNotExist

try...except または hasattr の代わりに、外部キーのオブジェクトが設定されているかどうかを確認する良い方法はありますか?

4

2 に答える 2

1

これを行うには、try...except を使用するのが最善の方法だと思います。この問題は、この (無効な) バグ レポートで言及されています: https://code.djangoproject.com/ticket/12708

于 2013-04-17T20:25:43.823 に答える
1
om = OtherModel()

'Just' は Python クラスをインスタンス化します。モデルのマネージャーを使用して、属性にアクセスする前に関係を保存するか、フィールドを null=True に設定します

om = OtherModel.objects.create()

マネージャーの公式ドキュメントを参照してください。

于 2013-04-17T20:21:45.927 に答える