我实际上是在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