InheritanceManager。如何从继承模型中获取字段?

时间:2013-02-25 15:35:37

标签: django

from model_utils.managers import InheritanceManager

class Property(models.Model):
    title = models.CharField(max_length=255)
    slug = models.SlugField()
    desc = models.TextField()
    objects = InheritanceManager()

class Apartament(Property):
    bedrooms = models.IntegerField()
    levels = models.IntegerField()
    something = models.CharField(max_length=255)

的观点:

p = Property.objects.get(slug=slug)
return render_to_response(...{'p':p} ...)

模板:

{{ p.title }}

我可以访问Apartament中的字段吗? 例如:

{{ p.bedrooms }}

如何在我的模板中获得卧室?

1 个答案:

答案 0 :(得分:0)

您正在调用的Property.objects.get方法是vanilla models.Manager只能为您提供Property个对象。您需要使用get_subclass提供的InheritanceManager方法来获取派生类的实例:

p = Property.objects.get_subclass(slug=slug)