我正在开发一个django项目,我有两个数据库“mysql”和“neo4j”.我安装neo4django包并更改如下的setting.py:
setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mylifetime',
'USER': 'root',
'PASSWORD': 'mypassword',
'HOST': '',
'PORT': '',
}
}
NEO4J_DATABASES = {
'default' : {
'HOST':'localhost',
'PORT':7474,
'ENDPOINT':'/db/data'
}
}
我的模特目前只有neo4j型号:
models.py:
from neo4django.db import models
class User(models.NodeModel):
...
#my User models ...
....
class Post(models.NodeModel):
...
#my Post models
...
当我运行此命令python manage.py syncdb我收到错误:
$python ../manage.py syncdb
Creating tables ...
AttributeError: 'super' object has no attribute 'db_type'
当我只使用MySql模型时,我没有看到错误,表格将成功创建.
我哪里错了?
谢谢
编辑:
当我写python manage.py syncdb –traceback时,我看到如下:
Creating tables ...
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 222, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 255, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 385, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 91, in handle_noargs
sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/creation.py", line 50, in sql_create_model
col_type = f.db_type(connection=self.connection)
File "/usr/local/lib/python2.7/dist-packages/neo4django-0.1.8-py2.7.egg/neo4django/utils.py", line 303, in __getattr__
return getattr(target, name)
AttributeError: 'super' object has no attribute 'db_type'
解决方法:
使用–traceback选项manage.py查看您获得的异常的完整堆栈跟踪.