我認爲它是不好的風格來使用try:except:對於流控制,但我不知道如何編寫下面的代碼來測試Django中的DB字段是否存在。這是「髒」的代碼工作:Python測試是否存在對象
@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)
爲什麼字段永遠不存在? – 2012-03-13 10:52:32
第一次創建和保存 – j7nn7k 2012-03-13 10:54:21
出於好奇:您是遵循項目指南還是個人喜好?我會考慮你的不合格''除了壞風格,但如果你使用'AttributeError'除外。那麼我更喜歡你的第一個例子。 – 2012-03-13 10:55:21