我正在使用 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 管理页面。
谢谢!