OGM model
Created by: msgre
@jakubbares potrebuju radu. Ukaz mi prosim, jak se pracuje s py2neo.GraphObject
objekty a relacemi.
Zkusil jsem si takto nadefinovat modely:
from django.conf import settings
from py2neo.ogm import GraphObject, Property, RelatedTo
class BaseModel(GraphObject):
__primarykey__ = "id"
id = Property()
def __init__(self, **kwargs):
for key, value in kwargs.items():
if hasattr(self, key):
setattr(self, key, value)
def save(self):
settings.GRAPH.push(self)
class CollegeModel(BaseModel):
name = Property()
class FacultyModel(BaseModel):
name = Property()
college = RelatedTo(CollegeModel)
Kdyz pak vytvorim instanci CollegeModel
a ulozim ji, vsecko probehne jak ma:
c = CollegeModel(id=1, name="prvni")
c.save()
Zadny error to nevyhodi, pres web rozhrani Neo4j si dokazu model vytahnout MATCH (n) RETURN n
. Myslim ze to je ok.
Dal ale nevim. Kdyz se snazim podobne vytvorit zaznam o fakulte (s vazbou na vysokou skolu), ulozi se mi jen zaznam s fakultou, ale bez vazby:
f = FacultyModel(id=1, name="kolej", college=c)
f.save()
Jak se to dela?