【发布时间】:2014-12-08 20:16:43
【问题描述】:
我刚开始开发一个 Django 博客,并且正在关注这个 youtube 教程 - https://www.youtube.com/watch?v=7rgph8en0Jc&spfreload=1
我正在使用 Django 1.6.6。
- 每次我尝试在 Admin 中添加条目时,都会收到此错误。感谢您的帮助!
环境:
Django 版本:1.6.6 Python版本:2.7.8 已安装的应用程序: ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '好博客', 'django_markdown') 已安装的中间件: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback: File "C:\Users\user\desktop\firstblog\lib\site-packages\django\core\handlers\base.py"在 get_response 中 112.响应=wrapped_callback(请求,*callback_args,>**callback_kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\options.py” 在包装中 450. return self.admin_site.admin_view(view)(*args, **kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py” 在 _wrapped_view 99. 响应 = view_func(请求,*args,**kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\views\decorators\cache.py” 在 _wrapped_view_func 52. response = view_func(request, *args, **kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\sites.py” 在内部 198. 返回视图(请求,*args,**kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py” 在 _wrapper 中 29. return bound_func(*args, **kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py” 在 _wrapped_view 99. 响应 = view_func(请求,*args,**kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py” 在 bound_func 25. 返回函数(自我,*args2,**kwargs2) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\transaction.py” 在内部 371. 返回函数(*args,**kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\options.py” 在 add_view 1149. self.save_model(request, new_object, form, False) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\options.py” 在 save_model 878. obj.save() 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\base.py” 在保存 545. force_update=force_update, update_fields=update_fields) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\base.py” 在 save_base 573. 更新 = self._save_table(原始,cls,force_insert,force_update,使用,>update_fields) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\base.py” 在_save_table 654. 结果 = self._do_insert(cls._base_manager, using, fields, update_pk, raw) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\base.py” 在 _do_insert 687. 使用=使用,原始=原始) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\manager.py” 在_插入 232. return insert_query(self.model, objs, fields, **kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\query.py” 在插入查询中 1514. return query.get_compiler(using=using).execute_sql(return_id) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\sql\compiler.py” 在执行_sql 903. cursor.execute(sql,参数) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py” 在执行 69. return super(CursorDebugWrapper, self).execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py” 在执行 53. return self.cursor.execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\utils.py” 在退出 99. 六.reraise(dj_exc_type, dj_exc_value, traceback) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py” 在执行 53. return self.cursor.execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\sqlite3\base.py” 在执行 452. return Database.Cursor.execute(self, query, params)
Exception Type: IntegrityError at /admin/niceblog/entry/add/ Exception Value: niceblog_entry.slug may not be NULL
- 每次我尝试在 Admin 中编辑条目时,都会引发此错误
环境:
Django 版本:1.6.6 Python 版本:2.7.8 已安装的应用程序: ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'niceblog', 'django_markdown') 已安装的中间件: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')
追溯:文件 “C:\Users\user\desktop\firstblog\lib\site-packages\django\core\handlers\base.py” 在 get_response 112. response = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\options.py" 在包装中 450. return self.admin_site.admin_view(view)(*args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py" 在 _wrapped_view 99. response = view_func(request, *args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\views\decorators\cache.py" 在 _wrapped_view_func 52. response = view_func(request, *args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\sites.py" 在内部 198. 返回视图(request, *args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py" 在 _wrapper 中 29. 返回 bound_func(*args, **kwargs) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py” 在 _wrapped_view 99. response = view_func(request, *args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\utils\decorators.py" 在 bound_func 25. 返回 func(self, *args2, **kwargs2) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\db\transaction.py" 在内部 371. 返回 func(*args, **kwargs) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\contrib\admin\options.py" 在 change_view 1255. form = ModelForm(instance=obj) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\forms\models.py” 在 初始化 315. object_data = model_to_dict(instance, opts.fields, opts.exclude) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\forms\models.py" 在 model_to_dict 141. data[f.name] = list(f.value_from_object(instance).values_list('pk', flat=True)) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\query.py" 在 迭代 96. self._fetch_all() 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\query.py” 在 _fetch_all 857. self._result_cache = list(self.iterator()) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\query.py” 在迭代器中 1068. 对于 self.query.get_compiler(self.db).results_iter() 中的行:文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\sql\compiler.py" 在 results_iter 713. 对于 self.execute_sql(MULTI) 中的行:文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\models\sql\compiler.py” 在执行_sql 786. cursor.execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py” 在执行 69. 返回 super(CursorDebugWrapper, self).execute(sql, params) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py" 在执行 53. 返回 self.cursor.execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\utils.py” 在退出 99. 六.reraise(dj_exc_type, dj_exc_value, traceback) 文件 "C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\util.py" 在执行 53. 返回 self.cursor.execute(sql, params) 文件“C:\Users\user\desktop\firstblog\lib\site-packages\django\db\backends\sqlite3\base.py” 在执行 452. return Database.Cursor.execute(self, query, params)
异常类型:/admin/niceblog/entry/2/ 异常处的 OperationalError 值:没有这样的表:niceblog_entry_tags
models.py 文件--->
class Tag(models.Model):
slug = models.SlugField(max_length=200, unique=True)
def __unicode__(self):
return self.slug
class Entry(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
publish = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
tags = models.ManyToManyField(Tag)
def __unicode__(self):
return self.title
class Meta:
verbose_name = "Blog Entry"
verbose_name_plural = "Blog Entries"
ordering = ['-created']
admin.py 文件--->
class EntryAdmin(MarkdownModelAdmin):
list_display = ("title", "created")
admin.site.register(Entry, EntryAdmin)
admin.site.register(Tag)
【问题讨论】:
-
您没有正确同步/迁移您的数据库。
-
我尝试了几次通常的 python manage.py syncdb。也用 python manage.py sql 检查了表。不知何故,“标签”没有出现在条目表下。
-
@codemax 删除所有表(如果您这样做是为了练习),删除所有迁移并创建一个初始迁移。 python manage.py schemamigration
--init -
嗨,我的 manage.py 中没有架构迁移。但我删除了我的表并删除了迁移
-
我通过将它添加到我的 settings.py 文件中找到它
标签: django django-models