neomodel: как открыть индекс для объектов StructuredNode

Как в Neomodel можно совместно использовать уникальный индекс по объектам узла, не создавая экземпляры отдельных объектов для хранения только проиндексированных данных? Я хотел бы найти объект на основе запроса индекса, например, так:

...
mynode = BaseObject.index.get(uid=uid_of_Type1Object)
# mynode is now of type `Type1Object`

с

class BaseObject(StructuredNode):
    uid = StringProperty(unique_index=True)
    ...

class Type1Object(BaseObject):
    ...
    def assign_uid(self, guid):
        # I may need tweaking of uid generator
        # on subclass level
        self.uid = guid

class Type2Object(BaseObject):
    ...
    def assign_uid(self, guid):
        self.uid = guid

1 ответ

Решение

В https://github.com/robinedwards/neomodel/commit/1f1b43377b25cd4d41e17ce2b7f9ca1a1643edea была добавлена ​​поддержка пользовательского индекса для подкласса StructuredNode

class BaseObject(StructuredNode):
    __index__ = 'MyBaseIndex'
    uid = StringProperty(unique_index=True)
    ...

class Type1Object(BaseObject):
    __index__ = 'MyBaseIndex'
    ...
    def assign_uid(self, guid):
        # I may need tweaking of uid generator
        # on subclass level
        self.uid = guid

class Type2Object(BaseObject):
    __index__ = 'MyBaseIndex'
    ...
    def assign_uid(self, guid):
        self.uid = guid
Другие вопросы по тегам