フロー制御に try: except: を使用するのはスタイルが悪いと思いますが、Django に DB フィールドが存在するかどうかをテストする次のコードの書き方がわかりません。これは機能する「ダーティ」コードです。
@receiver(pre_save, sender=UserProfile)
def create_user_profile(sender, instance=None, **kwargs):
try:
print str(instance.bank_account)
except:
print 'No account'
私はむしろこのようなことをしたいのですが、if
ステートメントが実行され、オブジェクトが存在しない場合に例外が発生します:
@receiver(pre_save, sender=UserProfile)
def create_user_profile(sender, instance=None, **kwargs):
if instance.bank_account is None:
print 'No account'
else:
print str(instance.bank_account)