我有一个模型Child继承自(非抽象)模型Parent。 对于Parent的给定实例父项,我怎么知道它是否是Child?
如果是,
parent.child
返回子项,但否则返回DoesNotExist异常。
尝试/除了检查它的唯一方法吗?
由于
月
#编辑我在这里找到同样的问题: Distinguishing parent model's children with Django inheritance
答案是......
hasattr(parent, 'child')
答案 0 :(得分:0)
尝试/除了检查它的唯一方法吗?
或多或少。
如果您只想要存在检查,可以通过说Child.objects.filter(parent=parent).exists()
来避免异常,但是如果你想对孩子做某事(如果它存在的话),最好直接访问它并处理{{ 1}}。
答案 1 :(得分:0)
我在这里找到同样的问题: Distinguishing parent model's children with Django inheritance
答案是......
hasattr(parent, 'child')
答案 2 :(得分:-2)
您可以使用instanceof(parent, Child)
。它将为子实例返回True,为Parent实例返回False。