0
admin.py如何通过迁移django解决错误?
from django.contrib import admin
from main.models import *
from django.db.models import TextField
from file_picker.wymeditor.widgets import WYMeditorWidget
@admin.register(MainUser)
class MainUserAdmin(admin.ModelAdmin):
list_display = ('username', 'first_name', 'second_name')
class BlogAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug':('title',)}
list_display = ('title', 'time')
formfield_overrides = {TextField: { 'widget': WYMeditorWidget({}) } }
class Media:
js = ('http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js',)
admin.site.register(Blog, BlogAdmin)
class PostLecture(admin.ModelAdmin):
list_display = ('title')
admin.site.register(PostLecture)
models.py
class PostLecture(models.Model):
title = models.CharField(max_length=200)
pdf = models.FileField()
time = models.DateTimeField(auto_now_add = True)
def __unicode__(self):
return self.title
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.id})
class Meta:
ordering = ['-time']
我确实迁移与命令(makemigration和迁移)。在管理控制台中运行服务器后,我的迁移没有了。我有这样的错误:
File "./manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
app_config.ready()
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/contrib/admin/apps.py", line 23, in ready
self.module.autodiscover()
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 26, in autodiscover
autodiscover_modules('admin', register_to=site)
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/utils/module_loading.py", line 50, in autodiscover_modules
import_module('%s.%s' % (app_config.name, module_to_search))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/nursultan/projects/diplomproject/diplomproject/main/admin.py", line 22, in <module>
admin.site.register(PostLecture)
File "/Users/nursultan/projects/diplomproject/env/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 86, in register
for model in model_or_iterable:
TypeError: 'MediaDefiningClass' object is not iterable
如何解决它?错误在哪里?
它会像您所写的那样更改它。然后我做了makemigration,错误:SystemCheckError:系统检查发现了一些问题: 错误::(admin.E107)'list_display'的值必须是一个列表或元组。 –
错过了'list_display'中的逗号。你看到'list_display'必须是一个元组或列表。 –
它的工作原理,谢谢 –