0

異なる権限を持ついくつかのタイプのユーザーを作成する必要があります。

プロキシを使用してこれを実行しようとしていますが、結果のインスタンスを識別する方法がわかりません。プロキシを使用すると、モデルがDB内の同じテーブルにあることは知っていますが、モデルを識別できる必要があります。たとえば、管理者のリストには、モデルMyUserから作成されたすべてのインスタンスがあり、インスタンスのみが必要です。UserMyUserMyUser

querysetadminでメソッドをオーバーライドする必要があると思いますが、インスタンスMyUserを識別するための最良の方法がわからないMyUser、または異なる権限を持つ複数のユーザーモデルを持つ正しい方法である場合でもわかりません。

誰かが助けることができますか?

models.py

from django.db import models
from django.contrib.auth.models import User

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

admin.py

class MyUserAdmin(admin.ModelAdmin):
    pass
admin.site.register(MyUser, MyUserAdmin)
4

1 に答える 1

0

group を作成し、オブジェクトmyusersを作成するときにそれをインスタンスに追加して、クエリセットMyUserでそれらを除外できるようにします。MyAdminUser

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'))
于 2012-12-11T13:46:04.693 に答える