Django管理サイトをユーザごとに分けたいが
モデルをユーザごとにadminの画面を複数に分けようと思いました。
get_querysetを使って、ユーザを分割できるとのことで、
ユーザごとに管理をしたいモデル全てにユーザ(User)の外部キーをつけました。
このように↓
class Hoge(models.Model):
user = models.ForeignKey(User, unique=False, verbose_name=u'ユーザ')
さらに、admin.pyでの設定はこのような感じです↓。
class HogeAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(HogeAdmin, self).get_queryset(request)
if request.user.is_superuser:
return qs
# 自分のIDでフィルターかける
return qs.filter(author=request.user)
また、添付画像のように、「スーパーユーザー権限」はなく、「スタッフ権限」のあるユーザで、
分離はできると思いました。
しかし、このユーザを使ってadminのページにログインしようと思いましたが、
「変更のためのパーミッションがありませんでした。」となってしまいました。
urls.pyにはもちろん
from django.contrib import admin
admin.autodiscover()
は記載しています。
もし、解決策があればよろしくお願い致します。