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
om = OtherModel()

'Just' 实例化一个 python 类。在访问属性之前使用模型的管理器保存关系,或将字段设置为 null=True

om = OtherModel.objects.create()

看看官方的经理文档

于 2013-04-17T20:21:45.927 回答
1

我认为使用 try...except 是最好的方法。此(无效)错误报告中提到了此问题:https ://code.djangoproject.com/ticket/12708

于 2013-04-17T20:25:43.823 回答