Search code examples
djangoneo4jneo4django

Error when connecting to neo4j via neo4django


I have a Django (Version 1.4.0) web app which uses neo4django mapper to run queries on neo4j (Version 1.8.2).

However, as soon as I do a query like

OnlinePerson.objects.filter(name="Bijan")

I get a Runtime error as

('The type node for class OnlinePerson could not be created in the database.', StatusException())

I tried many different things, but couldn't resolve!

Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/Users/Bijan/BHIC/mySVN/NeoD/src/NeoD/views.py" in home
  22.     return render_to_response('index.html', {'Person' : entries, 'Person2': ["Bijan","Nastaran"]})
File "/Library/Python/2.7/site-packages/django/shortcuts/__init__.py" in render_to_response
  20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/Library/Python/2.7/site-packages/django/template/loader.py" in render_to_string
  171.         return t.render(Context(dictionary))
File "/Library/Python/2.7/site-packages/django/template/base.py" in render
  140.             return self._render(context)
File "/Library/Python/2.7/site-packages/django/template/base.py" in _render
  134.         return self.nodelist.render(context)
File "/Library/Python/2.7/site-packages/django/template/base.py" in render
  823.                 bit = self.render_node(node, context)
File "/Library/Python/2.7/site-packages/django/template/debug.py" in render_node
  74.             return node.render(context)
File "/Library/Python/2.7/site-packages/django/template/defaulttags.py" in render
  145.         len_values = len(values)
File "/Library/Python/2.7/site-packages/django/db/models/query.py" in __len__
  85.                 self._result_cache = list(self.iterator())
File "/Library/Python/2.7/site-packages/neo4django/db/models/query.py" in iterator
  733.         for model in self.query.execute(using):
File "/Library/Python/2.7/site-packages/neo4django/db/models/query.py" in execute
  610.             type_node = self.nodetype._type_node(using)
File "/Library/Python/2.7/site-packages/neo4django/db/models/base.py" in _type_node
  423.             return cls.__type_node_classmethod(using)
File "/Library/Python/2.7/site-packages/neo4django/db/models/base.py" in __type_node
  406.             raise RuntimeError(error_message, e)

Exception Type: RuntimeError at /
Exception Value: ('The type node for class OnlinePerson could not be created in the database.', StatusException())

Solution

  • Finally after lots of struggles and trying out different solutions the problem is solved. I think the main problem was with my neo4j version (1.8.2).

    After switching back to 1.7.2, everything worked correctly.