超级用户访问管理站点以外的用户如何填充数据库的颜色?

时间:2015-07-01 11:08:40

标签: python django

我实际上是在django中创建一个ADMIN页面,用户将在该页面中输入并查看数据库中的某些列(在我的情况下是SQL)。因为,它是一个非常小的站点,其中包含< 10个用户我的目标是:使超级用户以外的用户输入并查看其他用户(不同参数的列)所做的所有条目,但如果他不是所有者,则不能编辑任何字段。我的数据库字段是: 产品名称, Imported_from, OWNER_NAME。

Models.py

            Product_name = models.CharField(max_length =75, choices=HARDWARE_CHOICES)
            Imported_from = models.CharField(max_length =75,choices=IMPORTED_CHOICES)
            owner_name = models.EmailField(blank =False,null=False,max_length =75)

Admin.py

from django.contrib import admin
from django.contrib.admin import AdminSite
from Inv_Site.models import list_inventory
class DataAdmin(admin.ModelAdmin): #Writing Admin Class to make changes in the ADMIN page
    search_fields = ('Product_name','owner_name','Imported_from',)
    list_display = ('Product_name','Imported_from','owner_name')

    def get_form(self, request,obj=None,**kwargs): #Writing function to getform 
           if request.user.is_authenticated():
                 if not request.user.is_superuser:
                      owner_name    =list_inventory._meta.get_field('owner_name')
                      if not request.user.email == owner_name:
                          readonly_fields =     ('Product_name','Imported_from',,'owner_name','Borrower_name',)
       return super(DataAdmin, self).get_form(request,obj,**kwargs)

admin.site.register(list_inventory,DataAdmin)

错误
我收到一个错误:' NoneType'对象不可调用         请求方法:GET         请求网址:http://127.0.0.1:8000/Inv_Site/list_inventory/2/         Django版本:1.7.5         异常类型:TypeError         例外价值:
        ' NoneType'对象不可调用         异常位置:changeform_view中的C:\ Python27 \ lib \ site-packages \ django \ contrib \ admin \ options.py,第1419行         Python可执行文件:C:\ Python27 \ python.exe         Python版本:2.7.9         Python路径:
        [' C:\ Python27 \脚本\ mysite的&#39 ;,          ' C:\ Python27 \ lib中\站点包\ xlutils-1.7.1-py2.7.egg&#39 ;,          ' C:\ Windows \ System32下\ python27.zip&#39 ;,          ' C:\ Python27 \的DLL&#39 ;,          ' C:\ Python27 \ lib中&#39 ;,          ' C:\ Python27 \ lib中\高原双赢&#39 ;,          ' C:\ Python27 \ lib中\ lib中-TK&#39 ;,          ' C:\ Python27&#39 ;,          ' C:\ Python27 \ lib中\站点包']         服务器时间:2015年7月1日星期三16:16:52 +0530

0 个答案:

没有答案