2012-10-26 2 views
5

Also habe ich versucht, eine kleine Benutzergruppenbeziehung in Neo4j mit Django zu modellieren. Ich verwende derzeit das Neo4django Python Paket gesehen here. Jetzt habe ich Knoten, die meine Benutzer repräsentieren, und Knoten, die meine Gruppen repräsentieren, und Beziehungen, die sie verbinden, die die Mitgliedschaft anzeigen. Was ich in naher Zukunft auch tun möchte, ist das Hinzufügen von Eigenschaften zu dieser Beziehung wie date_joined. Ich schaute mich um, aber es gibt nicht viel Dokumentation darüber, wie dies zu erreichen ist. Ich bin mir sicher, dass es einen Weg gibt, es zu tun, ich habe einfach keine Beispiele gesehen.Neo4django Beziehungseigenschaften

Unten ist die Erklärung für mein model.py wenn nötig, ich denke, es ist ziemlich geradlinig.

class User(models.NodeModel): 
    friends = models.Relationship('User', rel_type=Outgoing.FRIEND, related_single=False, related_name='friends') 
    groups = models.Relationship('Group', rel_type=Outgoing.USER_GROUPS, related_single=False, related_name='groups') 
    user_name = models.StringProperty(max_length=30, indexed=True) 
    password = models.StringProperty(max_length=128) 

class Group(models.NodeModel): 
    users = models.Relationship('User', rel_type=Outgoing.MEMBER, related_single=False, related_name='members') 
    group_type = models.Relationship('GroupType', rel_type=Outgoing.GROUP_TYPE, related_single=True, related_name='group_type') 
    group_name = models.StringProperty(max_length=128, indexed=True) 
    date_creation = models.DateProperty() 

Danke für alle Hinweise!

Antwort

4

Laut den Leuten, die Neo4django pflegen, wird gerade daran gearbeitet, dem Benutzer zu erlauben, von neo4django.db.model.Relationship zu erben, um ähnliche Eigenschaften wie Models hinzuzufügen. Dies muss noch umgesetzt werden. Die Problemumgehung in der Zwischenzeit besteht darin, einen Knoten zwischen zwei Knoten zu verwenden, um Eigenschaften über die Beziehung zu speichern.

+0

Als Referenz ist das Problem https://github.com/schollly/neo4django/issues/1- Ich freue mich darauf, es bei der nächsten Veröffentlichung zu schließen. –