RelatedObjectDoesNotExist
根据处理log,可查看处理源码【related_descriptors.py", line 421,in __get__】
File "D:\PycharmProjects\smsenv\lib\site-packages\django\db\models\fields\related_descriptors.py", line 421, in __get__
raise self.RelatedObjectDoesNotExist(
master.models.corporation.Corporation.supplier.RelatedObjectDoesNotExist: Corporation has no supplier.
1,model:OneToOneField
parent:已登录(Corporation)
child:未登录 (supplier)
2,処理
corporation:Corporation = Corporation.objects.get(pk=1)
supplier = corporation.supplier # OneToOneField,supplier未登录时,出错
# 使用 supplier前,需要判定其是否存在
hasattr(corporation,'supplier')
hasattr ( obj, 'related child name' )
if not hasattr(corporation, 'supplier'):
raise SuspiciousOperation("仕入先見つかりません")
或者
if hasattr(corporation, 'supplier'):
#後続処理
pass
表关系参照:
class Corporation(BaseModel):
corporation_code = models.CharField(max_length=8, primary_key=True, verbose_name='法人コード')
・・・
class Supplier(BaseModel):
corporation = models.OneToOneField(Corporation, on_delete=models.CASCADE, primary_key=True, verbose_name='法人コード')
・・・
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。