我有一个djano web app
,它将一些条目的数据存储到postgres db
。要将数据库中的数据复制到json file
s,我通常使用python manage.py shell
并使用django教程中提到的序列化api。在
>>>python manage.py shell
...
In[8]:from myapp.models import MyFirstModel
In[9]:data = serializers.serialize("xml", MyFirstModel.objects.all())
In[10]:print data
我将此输出复制到某个文本文件并将其另存为json。在
我想写一个剧本
在数据拷贝.py ........ 在
^{pr2}$从bash shell,我试过了
>>python datacopy.py
但是,这只写用户模型的数据,无法复制我在应用程序中创建的模型。在
我收到的错误信息
Traceback (most recent call last):
File "datacopy.py", line 29, in <module>
write_data_to_file()
File "datacopy.py", line 23, in write_data_to_file
xml_serializer.serialize(MyFirstModel.objects.all(), stream=out)
File "/home/me/Django-1.1.1/django/core/serializers/base.py", line 38, in serialize
for obj in queryset:
File "/home/me/Django-1.1.1/django/db/models/query.py", line 106, in _result_iter
self._fill_cache()
File "/home/me/Django-1.1.1/django/db/models/query.py", line 692, in _fill_cache
self._result_cache.append(self._iter.next())
File "/home/me/Django-1.1.1/django/db/models/query.py", line 238, in iterator
for row in self.query.results_iter():
File "/home/me/Django-1.1.1/django/db/models/sql/query.py", line 287, in results_iter
for rows in self.execute_sql(MULTI):
File "/home/me/Django-1.1.1/django/db/models/sql/query.py", line 2369, in execute_sql
cursor.execute(sql, params)
File "/home/me/Django-1.1.1/django/db/backends/util.py", line 19, in execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: relation "myapp_myfirstmodel" does not exist
当我使用python manage.py shell
时,我能够复制所有三个模型的数据。为什么当我从bash运行脚本时会发生这个错误?我在PYTHONPATH中有myapp的模块
你查过用过吗/管理.py转储数据?可以指定序列化格式。在
为了使脚本正常工作,您是否将DJANGO_设置设置为正确的设置.py? 在
其次,在函数内部执行导入操作是否有原因,最好将其移到文件头:
相关问题 更多 >
编程相关推荐