检查外键上的对象是否已设置

时间:2013-04-17 20:17:09

标签: python django

有这段代码:

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?

2 个答案:

答案 0 :(得分:1)

om = OtherModel()

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

om = OtherModel.objects.create()

查看official manager documentation

答案 1 :(得分:1)

我想尝试一下......除了这是最好的方法。此(无效)错误报告中提到了此问题:https://code.djangoproject.com/ticket/12708