标签: django-admin

Django:FieldError无法将关键字'___'解析为字段

我有一个FieldError.

我有一个模特:

class Foo(models.Model):

    __bar = models.TextField(default=lambda: cPickle.dumps(set()), primary_key=True)

    def get_bar(self):
        return cPickle.loads(str(self.__bar))

    def set_bar(self, values):
        self.__bar = cPickle.dumps(values)

    bar = property(get_bar, set_bar)
Run Code Online (Sandbox Code Playgroud)

我已经在admin.py中注册了它:

admin.site.register(Foo)
Run Code Online (Sandbox Code Playgroud)

当我运行服务器并转到/ admin时,我在列表中看到了Foo.如果我单击"添加",它工作正常,显示添加新Foo的表单.但是,如果我点击"保存并添加另一个"或"更改"或"Foos",我会得到一个FieldError

FieldError at /admin/appname/Foo/

Cannot resolve keyword '_Foo' into field. Choices are: _Foo__bar, appname
Run Code Online (Sandbox Code Playgroud)

追溯是:

环境:

Request Method: GET
Request URL: http://127.0.0.1:8000/admin/appname/foo/
Django Version: 1.2.4
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.admin',
 'pagination',
 'apps.appname']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'pagination.middleware.PaginationMiddleware')


Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" …
Run Code Online (Sandbox Code Playgroud)

python database django django-admin

0
推荐指数
1
解决办法
3376
查看次数

如何才能为django admin中的管理员权限页面增加filter_horizo​​ntal小部件的宽度?

我正在使用django管理功能.但在"更改用户"部分我们为特定用户分配权限我看到选择多个小部件.这个小部件的宽度对我来说是不够的,我需要增加小部件的宽度或添加一个水平滚动条吧.我怎么能这样做?

django django-admin

0
推荐指数
1
解决办法
1888
查看次数

django list_display和get_absolute_url

在内部管理员我想要list_display一个模型包括get_absolute_url和可点击.目前它只是显示/x/(x是ID).任何快速修复?

模型:

def get_absolute_url(self):  
    return "/%i/" % self.id
Run Code Online (Sandbox Code Playgroud)

管理员:

list_display = ('name', 'get_absolute_url')
Run Code Online (Sandbox Code Playgroud)

django django-admin

0
推荐指数
1
解决办法
1633
查看次数

如何管理django中的注释标志

我启用了django的评论框架,并且我设置了标记网址:

comments/flag/{{comment.id}}/
Run Code Online (Sandbox Code Playgroud)

注释已注册,并显示在数据库中.但是,它们不会出现在管理界面中.最理想的是在管理界面中为评论'flagged'状态添加过滤器,但我不确定如何做到这一点.

django django-admin django-comments

0
推荐指数
1
解决办法
466
查看次数

每次从DB加载数据时都会调用to_python

我有各种使用该to_python方法解密的数据库字段.我遇到的问题是,每次访问admin.ModelAdmin此特定模型的管理部分(列表)时,页面都需要很长时间才能加载.我不需要该to_python方法来解密列表页面上的字段,因为我列出的字段或列根本没有加密.当用户点击某个项目进行编辑时,该to_python方法会完全按照预期启动,这很好.但是,如何to_python在列出对象时停止尝试解密对象的方法,请记住列表视图仅显示未加密的字段?此外,这会导致过滤器工作得非常慢.同样,过滤仅在非加密字段上完成,因此不需要该to_python方法自行执行.

python django django-admin

0
推荐指数
1
解决办法
67
查看次数

当我取消注释admin.autodiscover()时,'str'对象没有属性'_meta'错误

我在django中遇到这个错误:

AttributeError at /
'str' object has no attribute '_meta'
Request Method: GET
Request URL:    http://localhost:8000/
Django Version: 1.3
Exception Type: AttributeError
Exception Value:    
'str' object has no attribute '_meta'
Exception Location: C:\Python27\lib\site-packages\django\contrib\admin\sites.py in         register, line 80
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.2
Python Path:    ['D:\\programming\\django_projects\\ecomstore',
'C:\\Python27\\lib\\site-packages\\setuptools-0.6c9-py2.7.egg',
 'C:\\Python27\\lib\\site-packages\\pymysql-0.3-py2.6.egg',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\PIL']
 Server time:   Fri, 13 Jan 2012 16:44:18 +0500
Run Code Online (Sandbox Code Playgroud)

如果我注释掉这个错误就不会发生,我admin.autodiscover()也在django中使用了ModelForm,所以是因为ModelForm?以下是ModelForm代码:

from django import forms
from catalog.models import Product

class ProductAdminForm(forms.ModelForm):
  class Meta:
    model=Product …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin django-errors

0
推荐指数
1
解决办法
4557
查看次数

渲染时捕获UnicodeEncodeError:'ascii'编解码器不能编码位置4-5中的字符:序数不在范围内(128)

你好,我住在波兰,所以我必须处理像łóźć等字母.当我尝试添加,在管理pannel,文本像"ZespółSzkół"我得到这样的错误:

渲染时捕获UnicodeEncodeError:'ascii'编解码器不能编码位置4-5中的字符:序数不在范围内(128)

我在Stackoverflow页面上看到很多类似的问题,但我不知道如何解决我的问题.

我的数据库是MySQL

我的db的Unicode集合:utf8_unicode_ci

我的models.py

# -*- coding: utf-8 -*-
from django.db import models
import codecs

...    

class experience(models.Model):
    dateStart = models.DateField()
    dateEnd = models.DateField()
    company = models.CharField(max_length=50)
    position = models.CharField(max_length=50)
    description = models.TextField(max_length=255)
    def __unicode__(self):
        return self.company.decode('utf8')    

... 
Run Code Online (Sandbox Code Playgroud)

追溯

Request Method: GET
Request URL: http://vm:8000/admin/mycv/experience/

Django Version: 1.3.1
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'cv.mycv']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Template error:
In template /usr/local/lib/python2.6/dist-packages/django/contrib/admin/templates/admin/change_list.html, error …
Run Code Online (Sandbox Code Playgroud)

mysql django unicode utf-8 django-admin

0
推荐指数
1
解决办法
2760
查看次数

外键字段的django管理页面中的list_filter

在django管理页面的list_filter中使用外部字段

假设我有模特

   class Company():
         name varchar(50)
         field1 varchar(50)

   class Client()
          name varchar(50)
          company ForeignKey(Company)
Run Code Online (Sandbox Code Playgroud)

现在我如何在django管理页面中为field1实现客户端模型的过滤器

我尝试了list_filter = ['company_ field1','company _name']但是没有用.有解决方案吗

我正在使用django 1.2版本.

提前致谢

python django django-models django-admin

0
推荐指数
1
解决办法
2393
查看次数

非超级用户对Django Admin的访问

我想限制管理界面的哪些部分对哪些工作人员开放-例如,一个人可能只负责与帐单相关的项目,另一个人只负责客户支持,而另一个人可能具有完全访问权限。

我可以通过将is_superuser设置为True来提供完全访问权限,但是我不希望这样(我不希望所有有权访问Admin界面的人员都成为超级用户)。

我可以通过将is_staff设置为True来允许工作人员登录到管理界面,但是登录后该工作人员将无权访问任何内容-他们看到“您无权编辑任何内容”。

我尝试了此问题中描述的方法,但得到的结果却是相同的“您没有权限”:

class MyAdmin(admin.ModelAdmin):
    def has_edit_permission(self, request):
        return True
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以让工作人员无需超级用户就可以访问Django管理界面的各个部分?

django django-admin

0
推荐指数
1
解决办法
2982
查看次数

django-admin.py startapp myproject不会创建settings.py

我有Python2.7和Django 1.3.1,在Windows 7 32bit上运行

当我输入'python django-admin.py startapp myproject'时,创建的文件夹如下所示:

mysite / init .py models.py tests.py views.py

代替

mysite / init .py manage.py settings.py urls.py

现在我必须输入'python django-admin.py startapp myproject'而不仅仅是'django-admin.py startapp myproject'的原因是因为.py文件没有与python正确关联,这个线程中提出了一个解决方案: django-admin.py无法正常工作

我尝试过,但出于某种原因,我可以得到正确的关联.我还确保应该通过属性使用python.exe文件打开django-admin.py.最后,将django-admin.py和python.exe添加到计算机 - >属性>高级 - >环境变量中配置的系统路径中.

所以这里有点想法......

django-admin python-2.7 django-1.3

0
推荐指数
2
解决办法
6196
查看次数