3

我正在使用 django-polymorphic 包: https ://pypi.org/project/django_polymorphic/

我正在查看文档中代理模型的文档: https ://docs.djangoproject.com/en/1.11/topics/db/models/#proxy-models

初始设置- 我使用常规 django 模型类尝试了以下操作:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

class MyPerson(Person):
    class Meta:
        proxy = True

    def do_something(self):
        # ...
        pass

Python 控制台:

>>> p = Person.objects.create(first_name="foobar")
>>> p
<Person: Person object (4)>
>>> MyPerson.objects.all()
<QuerySet [<MyPerson: MyPerson object (4)>]>

但是,当我尝试在 Person 类上使用 django-polymorphic 中的 PolymorphicModel 并尝试相同的命令时,我得到一个空查询集。

变人模型

class Person(PolymorphicModel):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

Python 控制台:

>>> p = Person.objects.create(first_name="foobar")
>>> MyPerson.objects.all()
<PolymorphicQuerySet []>

难道我们不应该期望 Queryset 包含我们创建的 Person 对象吗?

我的最终目标是创建代理模型来注册两个不同的 Django 管理页面。

谢谢!

4

0 回答 0