我有一个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) 我正在使用django管理功能.但在"更改用户"部分我们为特定用户分配权限我看到选择多个小部件.这个小部件的宽度对我来说是不够的,我需要增加小部件的宽度或添加一个水平滚动条吧.我怎么能这样做?
在内部管理员我想要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的评论框架,并且我设置了标记网址:
comments/flag/{{comment.id}}/
Run Code Online (Sandbox Code Playgroud)
注释已注册,并显示在数据库中.但是,它们不会出现在管理界面中.最理想的是在管理界面中为评论'flagged'状态添加过滤器,但我不确定如何做到这一点.
我有各种使用该to_python方法解密的数据库字段.我遇到的问题是,每次访问admin.ModelAdmin此特定模型的管理部分(列表)时,页面都需要很长时间才能加载.我不需要该to_python方法来解密列表页面上的字段,因为我列出的字段或列根本没有加密.当用户点击某个项目进行编辑时,该to_python方法会完全按照预期启动,这很好.但是,如何to_python在列出对象时停止尝试解密对象的方法,请记住列表视图仅显示未加密的字段?此外,这会导致过滤器工作得非常慢.同样,过滤仅在非加密字段上完成,因此不需要该to_python方法自行执行.
我在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) 你好,我住在波兰,所以我必须处理像łóźć等字母.当我尝试添加,在管理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) 在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版本.
提前致谢
我想限制管理界面的哪些部分对哪些工作人员开放-例如,一个人可能只负责与帐单相关的项目,另一个人只负责客户支持,而另一个人可能具有完全访问权限。
我可以通过将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管理界面的各个部分?
我有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 ×10
django ×9
python ×3
database ×1
django-1.3 ×1
django-forms ×1
mysql ×1
python-2.7 ×1
unicode ×1
utf-8 ×1