首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-1.4.1:无法保存对象

Django-1.4.1:无法保存对象
EN

Stack Overflow用户
提问于 2012-10-09 17:16:19
回答 1查看 452关注 0票数 1

我的项目在Django-1.2.5和Djando-1.3.1上工作得很好,但在Django-1.4.1上就不行了。

我无法保存/创建对象,并收到如下错误:

代码语言:javascript
复制
from entry.models import Entry

import datetime 

from publications.models import Publication

e = Entry(title=u'this is a test headline to test django-1.4.1',
          body_html=u'this is a test body data to test django-1.4.1',
          pub_date=datetime.datetime.now(),
          publication=Publication.objects.get(id=1))

e.save()

错误:

代码语言:javascript
复制
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/admin/banking_code/contify-banking/entry/models.py", line 112, in save
  super(Entry, self).save()
File "/home/admin/banking_code/contify-banking/django/db/models/base.py", line 463, in save
  self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/home/admin/banking_code/contify-banking/django/db/models/base.py", line 551, in save_base
  result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)
File "/home/admin/banking_code/contify-banking/django/db/models/manager.py", line 203, in _insert
  return insert_query(self.model, objs, fields, **kwargs)
File "/home/admin/banking_code/contify-banking/django/db/models/query.py", line 1593, in insert_query
  return query.get_compiler(using=using).execute_sql(return_id)
File "/home/admin/banking_code/contify-banking/django/db/models/sql/compiler.py", line 914, in execute_sql
  return self.connection.ops.fetch_returned_insert_id(cursor)
File "/home/admin/banking_code/contify-banking/django/db/backends/__init__.py", line 548, in fetch_returned_insert_id
  return cursor.fetchone()[0]
TypeError: 'NoneType' object is not subscriptable

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-09 17:33:45

您能验证id =1的发布对象是否存在吗?最快的方法是通过python shell:

从manage.py项目的主文件夹中运行"python“,然后:

代码语言:javascript
复制
 >> from publications.models import Publication
 >> p = Publication.objects.get(id=1)
 >> p

如果这成功了(您将得到一个id为1的发布对象),那么我们将不得不考虑一个更奇怪的失败原因。如果失败,问题将被缩小到发布模型的定义问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12796646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档