Django 如何识别代理模型实例?

Django 如何识别代理模型实例?,django,proxy,Django,Proxy,我需要创建具有不同权限的几种类型的用户 我正试图使用代理来实现这一点,但我不确定如何识别结果实例。我知道使用代理的模型在数据库的同一个表中,但我需要能够识别它们。例如,在管理员的MyUser列表中,我拥有从User和MyUser模型创建的所有实例,我只希望拥有MyUser实例 我想我应该重写MyUseradmin中的queryset方法,但我不确定识别MyUser实例的最佳方法是什么,甚至不确定拥有不同权限的多个用户模型是否正确 有人能帮忙吗 models.py 管理员 我创建了一个组myuse

我需要创建具有不同权限的几种类型的用户

我正试图使用代理来实现这一点,但我不确定如何识别结果实例。我知道使用代理的模型在数据库的同一个表中,但我需要能够识别它们。例如,在管理员的
MyUser
列表中,我拥有从
User
MyUser
模型创建的所有实例,我只希望拥有
MyUser
实例

我想我应该重写
MyUser
admin中的
queryset
方法,但我不确定识别
MyUser
实例的最佳方法是什么,甚至不确定拥有不同权限的多个用户模型是否正确

有人能帮忙吗

models.py

管理员


我创建了一个组
myusers
,并在创建
MyUser
对象时将其添加到实例中,以便在
MyAdminUser
queryset中筛选出它们:

class MyUser(User):
    class Meta:
        proxy = True

    def save(self, *args, **kwargs):
        super(MyUser, self).save(*args, **kwargs)
        self.groups.add(Group.objects.get(name='myusers'))

为什么不使用组来分配权限呢?我希望在我的管理中将它们分开,这是我能看到的最简单的方法。
class MyUserAdmin(admin.ModelAdmin):
    pass
admin.site.register(MyUser, MyUserAdmin)
class MyUser(User):
    class Meta:
        proxy = True

    def save(self, *args, **kwargs):
        super(MyUser, self).save(*args, **kwargs)
        self.groups.add(Group.objects.get(name='myusers'))