我从转储数据安装夹具时遇到奇怪的错误。我正在使用 psycopg2 和 django1.1.1
silver:probsbox oleg$ python manage.py loaddata /Users/oleg/probs.json
Installing json fixture '/Users/oleg/probs' from '/Users/oleg/probs'.
Problem installing fixture '/Users/oleg/probs.json': Traceback (most recent call last):
File "/opt/local/lib/python2.5/site-packages/django/core/management/commands/loaddata.py", line 153, in handle
obj.save()
File "/opt/local/lib/python2.5/site-packages/django/core/serializers/base.py", line 163, in save
models.Model.save_base(self.object, raw=True)
File "/opt/local/lib/python2.5/site-packages/django/db/models/base.py", line 495, in save_base
result = manager._insert(values, return_id=update_pk)
File "/opt/local/lib/python2.5/site-packages/django/db/models/manager.py", line 177, in _insert
return insert_query(self.model, values, **kwargs)
File "/opt/local/lib/python2.5/site-packages/django/db/models/query.py", line 1087, in insert_query
return query.execute_sql(return_id)
File "/opt/local/lib/python2.5/site-packages/django/db/models/sql/subqueries.py", line 320, in execute_sql
cursor = super(InsertQuery, self).execute_sql(None)
File "/opt/local/lib/python2.5/site-packages/django/db/models/sql/query.py", line 2369, in execute_sql
cursor.execute(sql, params)
File "/opt/local/lib/python2.5/site-packages/django/db/backends/util.py", line 19, in execute
return self.cursor.execute(sql, params)
ProgrammingError: can't adapt
首先,我在互联网上检查了类似的问题。这似乎非常相关:http ://code.djangoproject.com/ticket/5996 ,因为我的数据有很多非 ASCII 符号
但实际上我已经检查了我的 django 安装,那里没问题
你能建议什么是错的
====
按照第一个答案的建议添加打印声明后继续调查。日志看起来是这样的:
silver:probsbox oleg$ python manage.py loaddata /Users/oleg/probs.json
Installing json fixture '/Users/oleg/probs' from '/Users/oleg/probs'.
<DeserializedObject: Novice>
<DeserializedObject: Junior>
<DeserializedObject: Chess enthusiast>
<DeserializedObject: Experienced player >
<DeserializedObject: Smart player>
Problem installing fixture '/Users/oleg/probs.json': Traceback (most recent call last):
File "/opt/local/lib/python2.5/site-packages/django/core/management/commands/loaddata.py", line 153, in handle
print obj
File "/opt/local/lib/python2.5/site-packages/django/core/serializers/base.py", line 155, in __repr__
return "<DeserializedObject: %s>" % smart_str(self.object)
File "/opt/local/lib/python2.5/site-packages/django/utils/encoding.py", line 107, in smart_str
return str(s)
File "/opt/local/lib/python2.5/site-packages/django/db/models/base.py", line 335, in __str__
return force_unicode(self).encode('utf-8')
File "/opt/local/lib/python2.5/site-packages/django/utils/encoding.py", line 71, in force_unicode
s = unicode(s)
File "/Users/oleg/Sites/probsbox/registration/models.py", line 58, in __unicode__
return u"%s's profile" %(self.user.username)
File "/opt/local/lib/python2.5/site-packages/django/db/models/fields/related.py", line 257, in __get__
rel_obj = QuerySet(self.field.rel.to).get(**params)
File "/opt/local/lib/python2.5/site-packages/django/db/models/query.py", line 305, in get
% self.model._meta.object_name)
DoesNotExist: User matching query does not exist.
silver:probsbox oleg$
来自最后一条评论的错误
<DeserializedObject: qwert2000's profile>
安装夹具'/Users/oleg/probs.json'时出现问题:回溯(最近一次调用):文件“/opt/local/lib/python2.5/site-packages/django/core/management/commands/loaddata.py ”,第 154 行,在句柄 obj.save() 文件中“/opt/local/lib/python2.5/site-packages/django/core/serializers/base.py”,第 163 行,保存 models.Model.save_base (self.object, raw=True) 文件“/opt/local/lib/python2.5/site-packages/django/db/models/base.py”,第 495 行,在 save_base 结果 = manager._insert(values, return_id=update_pk) 文件“/opt/local/lib/python2.5/site-packages/django/db/models/manager.py”,第 177 行,在 _insert return insert_query(self.model, values, **kwargs)文件“/opt/local/lib/python2.5/site-packages/django/db/models/query.py”,第 1087 行,在 insert_query 返回查询中。execute_sql(return_id) 文件“/opt/local/lib/python2.5/site-packages/django/db/models/sql/subqueries.py”,第 320 行,在 execute_sql cursor = super(InsertQuery, self).execute_sql(无)文件“/opt/local/lib/python2.5/site-packages/django/db/models/sql/query.py”,第2369行,在execute_sql cursor.execute(sql,params)文件“/opt/ local/lib/python2.5/site-packages/django/db/backends/util.py",第 19 行,在执行中返回 self.cursor.execute(sql, params) ProgrammingError: can't adapt参数)文件“/opt/local/lib/python2.5/site-packages/django/db/backends/util.py”,第 19 行,在执行中返回 self.cursor.execute(sql, params) ProgrammingError: can'不适应参数)文件“/opt/local/lib/python2.5/site-packages/django/db/backends/util.py”,第 19 行,在执行中返回 self.cursor.execute(sql, params) ProgrammingError: can'不适应