Я использую 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)>]>
Однако, когда я попытался использовать PolymorphicModel из django-polymorphic для класса Person и попытался выполнить те же команды, я получил пустой набор запросов.
Модель измененного человека
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.
Спасибо!