gpt4 book ai didi

python - Neo4Django - SyncDB 不创建表和图

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:02 25 4
gpt4 key购买 nike

我在基于 django 的应用程序中使用 Neo4Django,并尝试同时使用两个数据库:Neo4j 和 PostGIS。因此,我按照文档( http://neo4django.readthedocs.org )和 models.py 中的建议配置了 settings.py 。

当我尝试运行syncdb时,我收到此消息

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'postgres'):
E-mail address: postgres@gmail.com
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

但是当我检查表格和图表是否已创建时,我什么也没发现!

我正在使用 django 1.4 和 neo4j 1.9.M05。

以下是我在 settings.py 中声明数据库的方式:

DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'postgres',


}
}
NEO4J_DATABASES = {
'default' : {
'HOST':'127.0.0.1',
'PORT':7474,
'ENDPOINT':'/db/data/'
}
}

DATABASE_ROUTERS = ['neo4django.utils.Neo4djangoIntegrationRouter']

我像这样声明了我的 models.py :

from neo4django.db import models
from django.contrib.gis.db import models as gis

class Airport(models.NodeModel):
name = models.StringProperty()
iata = models.StringProperty()
icao= models.StringProperty()

city = models.Relationship('self',rel_type='isAT')

#geographical database for storing entities coordinates
class pointsOfInterest(gis.Model):
nodeid = gis.IntegerField()
longitude = gis.FloatField()
latitude = gis.FloatField()

# GeoDjango-specific: a geometry field (MultiPolygonField), and
# overriding the default manager with a GeoManager instance.
objects = gis.GeoManager()

感谢您的帮助

<小时/>

编辑

当我运行python manage.py sqlall testapp(其中testapp是我的应用程序,删除neo4j模型后,否则它将无法工作)时,我得到允许创建的sql表:

BEGIN;
CREATE TABLE "testapp_pointsofinterest" (
"id" serial NOT NULL PRIMARY KEY,
"nodeid" integer NOT NULL,
"longitude" double precision NOT NULL,
"latitude" double precision NOT NULL
)
;
COMMIT;

之后我运行./manage.pysyncdb并且仅创建pointsOfInterest表(而不是图表)

postgres@anas-desktop:/home/anas/Desktop/testNeo4Django$ ./manage.py syncdb
Creating tables ...
Creating table testapp_pointsofinterest
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

知道为什么代表我的模型的节点没有在 graphdb 中创建吗?

最佳答案

其实根本没有任何问题!

我第一次运行./manager.pysyncdb时,pointsOfInterest表是在sql数据库中创建的,我没有注意到

对于以下尝试,我期望此命令将 neo4j 模型作为一种“根”节点插入到将插入到 graphdb 中的 future 节点(虽然似乎此命令不执行此操作) ,并重点关注前一个表未添加的事实(而它之前已添加,并且 Django 不会替换现有表)

问题已解决!

关于python - Neo4Django - SyncDB 不创建表和图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16830126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com