1

models.py に次のコードがあります

from django.db import models

# Create your models here.
class LabName(models.Model):
    labsname=models.CharField(max_length=30,unique=True)
    #room_number=models.CharField(max_length=3)
    def __unicode__(self):
     return self.labsname
STAT=(('W','Working'),('N','Not Working'))
class ComponentDescription(models.Model):
    lab_Title=models.ForeignKey('Labname')
    component_Name = models.CharField(max_length=30)
    description = models.TextField(max_length=200)
    qty = models.IntegerField()
    purchased_Date = models.DateField()
    status = models.CharField(max_length=1,choices=STAT)
    to_Do = models.CharField(max_length=30,blank=True) 
    remarks = models.CharField(max_length=30)


    def __unicode__(self):
        return self.component_Name

私は私のadmin.pyに以下を持っています

from django.contrib import admin
from Lab_inventory.models import ComponentDescription,LabName

class ComponentDescriptionInline(admin.TabularInline):
    model = ComponentDescription
    extra=0

class LabNameAdmin(admin.ModelAdmin):
        inlines = [
        ComponentDescriptionInline,
    ]

class ComponentDescriptionAdmin(admin.ModelAdmin):
    list_display=('lab_Title','component_Name','description','qty','purchased_Date','status','to_Do','remarks')
        list_filter=('lab_Title','status','purchased_Date')
admin.site.register(LabName, LabNameAdmin)
admin.site.register(ComponentDescription,ComponentDescriptionAdmin)

ユーザーにカスタム権限を割り当てたい.つまり、異なるユーザーは、割り当てられたラボのみを変更できるということです.Django管理者は、ラボの編集権限、つまりラボの編集、削除、変更を追加できます.しかし、問題は、すべてのユーザーがアクセスできることです.すべてのラボ

4

1 に答える 1

1

質問を正しく理解できれば、オブジェクトごとにアクセス許可を制御しようとしています。

これは役立つはずです: オブジェクトごとのアクセス許可を django admin に追加する

私は試したことはありませんが、django-guardian パッケージでこれを行うことができるとも聞きました: http://pythonhosted.org/django-guardian/

于 2013-03-11T20:13:25.377 に答える