gpt4 book ai didi

django 访问模型的子类

转载 作者:行者123 更新时间:2023-12-04 21:54:21 26 4
gpt4 key购买 nike

我在我的 django 模型中使用子类,如下所示:

class Person(models.Model):
name = models.CharField(max_length=100)
...


class Butcher(Person):
...

class Driver(Person):
...

在我看来,我想根据子类做某些事情
Person类的,像这样:
def person_detail_view(request, slug):
person = Person.objects.get(slug=slug)

if person.butcher:
...

elif person.driver:
...

但是当这个人是一个时,这给了我一个DoesNotExist-Error
司机。有没有办法向 Person 类询问它的子类?

提前致谢
雅克

最佳答案

你的基本逻辑是合理的;问题在于你如何测试。您必须检查属性是否存在,而不是它的值。例如:

def person_detail_view(request, slug):
person = Person.objects.get(slug=slug)

if hasattr(person, 'butcher'):
...

elif hasattr(person, 'driver'):
...

关于django 访问模型的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5855358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com