2013-02-25 95 views
0
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 }} 

如何在我的模板中獲取臥室?

回答

0

你打電話的Property.objects.get方法是vanilla models.Manager,它只是給你一個Property對象。您需要使用InheritanceManager提供的get_subclass方法來獲取派生類的實例:

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