django-model-utils のInheritanceManager を使用して、クエリ中に特定の Django モデルのサブクラスを取得しています。
from django.db import models
from model_utils.managers import InheritanceManager
class Generic(models.Model):
objects = InheritanceManager()
def template(self):
return 'Generic.html'
class Specific(Generic):
def template(self):
return 'Specific.html'
class Meta:
proxy = True
電話する
Specific.objects.create()
try:
print Generic.objects.get().template()
print Specific.objects.get().template()
print Generic.objects.select_subclasses().get().template()
finally:
Specific.objects.get().delete()
そして出力は
Generic.html
Specific.html
Generic.html # <--- why isn't this specific? I'm calling for subclasses.
私は何を間違っていますか?