我是Python和Django的新手.
我正在使用PostgreSQL数据库引擎后端配置Django项目,但我在每个数据库操作上都遇到错误,例如当我运行时manage.py syncdb,我得到:
C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
File "C:\Python27\lib\site-packages\django\core\management\sql.py", line …Run Code Online (Sandbox Code Playgroud) 由于内容类型冲突,我无法将Django fixtures加载到我的MySQL数据库中.首先,我尝试从我的应用程序转储数据,如下所示:
./manage.py dumpdata escola > fixture.json
Run Code Online (Sandbox Code Playgroud)
但我不断错过外键问题,因为我的应用程序"escola"使用其他应用程序中的表.我一直在添加额外的应用程序,直到我这样做:
./manage.py dumpdata contenttypes auth escola > fixture.json
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试将数据作为测试夹具加载时,问题是以下约束违规:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Run Code Online (Sandbox Code Playgroud)
似乎问题是Django正在尝试动态地重新创建具有与夹具中的主键值冲突的不同主键值的内容类型.这似乎与此处记录的错误相同:http://code.djangoproject.com/ticket/7052
问题是推荐的解决方法是转储我正在做的contenttypes应用程序!?是什么赋予了?如果它有所不同,我确实有一些自定义模型权限,如下所示:http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
我需要将我的数据库从sqlite迁移到mysql,而各种工具/脚本对我来说太多了,无法轻松找到最安全,最优雅的解决方案.
这对我来说似乎很不错http://djangosnippets.org/snippets/14/但似乎是3年以来获得更新令人担忧..
你能推荐一个已知Django 1.1.1可靠的解决方案吗?
我有一个来自另一个数据库的备份sql文件,我想导入Heroku的postgres数据库.你是怎样做的?
我目前正在使用sqlite3作为我的一个Django项目的数据库.我想改变它以使用postgresql,我想保持所有数据完好无损.
我曾经./manage.py dumpdata > dump.json创建过数据转储,并将我的设置更改为使用postgresql.首先尝试使用空数据库./manage.py loaddata dump.json导致表中存在错误,因此我运行了./manage.py syncdb,然后再次尝试.这导致了这个错误:
Problem installing fixture 'dump.json': Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", line 163, in handle
obj.save()
File "/usr/lib/python2.6/site-packages/django/core/serializers/base.py", line 163, in save
models.Model.save_base(self.object, raw=True)
File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 495, in save_base
rows = manager.filter(pk=pk_val)._update(values)
File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 448, in _update
return query.execute_sql(None)
File "/usr/lib/python2.6/site-packages/django/db/models/sql/subqueries.py", line 124, in execute_sql
cursor = super(UpdateQuery, self).execute_sql(result_type)
File "/usr/lib/python2.6/site-packages/django/db/models/sql/query.py", line 2347, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 19, in execute
return …Run Code Online (Sandbox Code Playgroud) 我有一个共享的heroku应用程序,现在我不想在heroku中使用相同的代码创建一个测试应用程序,所以我创建了一个新的应用程序,好吧,问题是,对于应用程序来说它需要一个数据库,所以我试图上传我的本地数据库,但不知道如何.
任何人都可以告诉我,我有什么要输入我的命令行,以便我可以上传我的本地数据库?
谢谢
Ps:该应用程序使用Django