我的项目在Django-1.2.5和Djando-1.3.1上工作得很好,但在Django-1.4.1上就不行了。
我无法保存/创建对象,并收到如下错误:
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()错误:
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有人能帮我解决这个问题吗?
发布于 2012-10-09 17:33:45
您能验证id =1的发布对象是否存在吗?最快的方法是通过python shell:
从manage.py项目的主文件夹中运行"python“,然后:
>> from publications.models import Publication
>> p = Publication.objects.get(id=1)
>> p如果这成功了(您将得到一个id为1的发布对象),那么我们将不得不考虑一个更奇怪的失败原因。如果失败,问题将被缩小到发布模型的定义问题。
https://stackoverflow.com/questions/12796646
复制相似问题