将satchmo存储从sqlite3迁移到mysql

将satchmo存储从sqlite3迁移到mysql,mysql,django,satchmo,Mysql,Django,Satchmo,我在sqlite3上运行了一个功能齐全的satchmo存储。不过我需要换成mysql。无论是创建新数据库还是移植旧数据库,我都会在各种地方收到http错误500s。例如,如果我有一个新的数据库,并且我创建了一个用户帐户,那么一切看起来都很好。如果我随后尝试更新用户的配置文件(实际上是扩展的用户配置文件),我会立即收到服务器500错误。它好像对那个URL不再感兴趣了(http://127.0.0.1:8000/accounts/update/) 奇怪的是,如果我以管理员身份登录并进入管理员页面,那

我在sqlite3上运行了一个功能齐全的satchmo存储。不过我需要换成mysql。无论是创建新数据库还是移植旧数据库,我都会在各种地方收到http错误500s。例如,如果我有一个新的数据库,并且我创建了一个用户帐户,那么一切看起来都很好。如果我随后尝试更新用户的配置文件(实际上是扩展的用户配置文件),我会立即收到服务器500错误。它好像对那个URL不再感兴趣了(http://127.0.0.1:8000/accounts/update/)

奇怪的是,如果我以管理员身份登录并进入管理员页面,那么我就可以更新该用户的(扩展)配置文件,一点问题也没有。事实上,我从未在管理页面上看到任何错误

下面是我如何为mysql设置它的:

apt-get install mysql-client  
apt-get install mysql-server  
apt-get install python-mysqldb  
mysql -u root -p  
    mysql> USE mysql;  
    mysql> CREATE DATABASE mystore CHARACTER SET utf8;  
    mysql> GRANT ALL PRIVILEGES ON mystore.* TO storeuser@localhost IDENTIFIED BY 'secret';  
    mysql> FLUSH PRIVILEGES;  
settings.py:

DATABASE_ENGINE = 'mysql'       
DATABASE_NAME = 'mystore'
DATABASE_USER = 'storeuser'
DATABASE_PASSWORD = 'secret'
DATABASE_HOST = ''         
DATABASE_PORT = ''         
DATABASE_OPTIONS = { "init_command": 'SET NAMES "utf8"' , "init_command":'SET storage_engine=INNODB' , }
然后,为了创建一个新的数据库,我只做了以下操作:

python manage.py syncdb
python manage.py运行服务器

编辑1

下面是它爆炸出来的代码:

class myExtendedContactInfoForm(ExtendedContactInfoForm):
def __init__(self, *args, **kwargs):
     # The following line is where it produces the error
    super(myExtendedContactInfoForm, self).__init__(*args, **kwargs)
编辑2

看起来数据库中缺少了一些东西,因为如果我继续使用sqlite后端,然后删除sqlite数据库(然后运行‘python manage.py syncdb’),我会得到完全相同的症状。似乎我需要做的不仅仅是syncdb


我这里缺少什么?

您使用的是非常旧的Django版本吗?那些
DATABASE.*
设置还没有在几个版本中使用。dpkg-l | grep django ii python django 1.2.3-3+squeeze3 ii python django注册0.7-2它引发了什么异常?没有异常-只生成了“500”错误页。@user1294974阅读错误消息和回溯非常重要。您只得到错误500错误页面,因为您没有设置
ADMIN=('Your Name','Your Name')_email@example.com“),)
在settings.py中通过电子邮件获取,或
DEBUG=True
在500页上阅读。