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'))