2

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.

私は何を間違っていますか?

4

0 に答える 0