2013-03-11 5 views
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) 

я хочу, чтобы назначить пользователь с пользовательским privilages .i означает, что разные пользователи могут модифицировать только те лаборатории, которым они назначены. Администратор Django позволяет добавлять разрешения на редактирование лаборатории, то есть редактировать, удалять и изменять labs.but. Проблема в том, что каждый пользователь может получить доступ ко всем лабораториям.

ответ

1

Если я правильно понял вопрос, вы пытаетесь контролировать разрешения для каждого объекта.

Это должно помочь: Adding per-object permissions to django admin

Я также слышал, что вы можете сделать это с пакетом Джанго-хранителем, хотя я никогда не пробовал: http://pythonhosted.org/django-guardian/

Смежные вопросы