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