1

I am using neomodel library from https://github.com/robinedwards/neomodel . Documentation http://neomodel.readthedocs.org/en/latest/

I have 2 classes Entity and Category - every Category belongs to one Entity, and every Entity can have a parent_entity. For category class this is working:

class Category(StructuredNode):
    name = StringProperty(required=True)
    entity = RelationshipTo(Entity, 'BELONGS_TO', cardinality=One)
    created_at = DateTimeProperty()
    updated_at = DateTimeProperty()

but for Entity class I have written:

class Entity(StructuredNode):
    name = StringProperty(required=True)
    image = StringProperty()
    description = StringProperty()
    parent_entity = Relationship(Entity, 'PARENT', cardinality=ZeroOrMore)
    categories = RelationshipFrom(Category, 'BELONGS_TO', cardinality=ZeroOrMore)
    created_at = DateTimeProperty()
    updated_at = DateTimeProperty()

This is giving me an error that says:

parent_entity = Relationship(Entity, 'PARENT', cardinality=ZeroOrMore)
NameError: name 'Entity' is not defined

How can I implement self referencing model? Any info would be very helpful thanks in advance!

Ananth
  • 4,227
  • 2
  • 20
  • 26

1 Answers1

3

Its because at this point in time the class Entity hasnt been compiled. If you change it to a string 'Entity' it should work as expected.

rob
  • 384
  • 1
  • 3