我有以下型号:
APP 1:
class User(AbstractBaseUser):
# custom fields etc
# NOT ABSTRACT
APP 2:
class SecondaryUser(User):
# other custom fields
当我这样做时,SecondaryUser.objects.create(...)
我得到了一个预期的实例:
In: SecondaryUser.objects.create(first_name='test', last_name='test', email='test@etest.com')
Out: <SecondaryUser>
这有一个 id 和预期的填充字段。我还可以查询基类并使用 django 生成的 1-1 字段进行继承来访问子类的字段:
User.objects.get(email='test@etest.com').secondaryuser.<some_field>
但是,当我这样做时,SecondaryUser.objects.all()
它会返回一个空的查询集。并且模型管理员SecondaryUser
显示了一个空列表视图(即使我SecondaryUser
在管理员创建视图中创建了一个新实例)。
我觉得我遗漏了一些明显的东西,我需要能够在管理员中列出 SecondaryUser 实例。User
类不能是抽象的。
编辑:已确认他们在数据库中:
mysql> SELECT * from <app2>_secondaryuser;
+-------------+---------------+-----------+
| user_ptr_id | <field_1> | <field_2> |
+-------------+---------------+-----------+
| 123 | 0 | 0 |
| 124 | 0 | 0 |
| 125 | 1 | 0 |
+-------------+---------------+-----------+