如下面程式碼,會根據實例ID取得實例對象,大家知道get的時候如果id不存在會出現異常,但是filter不會。
那麼,請問大家,像類似這種情況是用get然後處理異常要好呢,還是filter來做呢,哪種更規範?
def get_city_image(self, instance):
if instance.city_id:
try:
city_image = City.objects.get(id=instance.city_id).image.url
# city_image = City.objects.filter(id=instance.city_id).last().image.url
except Exception, e:
city_image = None
else:
city_image = None
return city_image
阿神2017-06-12 09:23:33
框架選擇設計問題,django 是扔異常,別的框架直接返回None,看你喜歡那種,我不喜歡這種直接扔異常,直接補一個自己的方法就行了
參考連結: django 擴充/補丁 QuerySet