Определение класса Neomodel

#python #neo4j #neomodel

#python #neo4j #neomodel

Вопрос:

У меня возникают реальные проблемы с выяснением того, как настроить Neomodel для работы. Я определил свои классы в models.py и я импортирую их, но все, что я когда-либо получаю, это…

ClassAlreadyDefined: модели классов.Альбом с уже определенными ярлыками Album: {frozenset({‘Album’}):Альбом’>}

ошибка. Вот как выглядит мой код, например:

 from neomodel import StructuredNode, StringProperty, DateTimeProperty, IntegerProperty, UniqueIdProperty, RelationshipTo, RelationshipFrom

    
class Album(StructuredNode):
    uid = UniqueIdProperty()
    band = StringProperty()
    name = StringProperty()
    url = StringProperty()
    band_name = StringProperty()
    year = IntegerProperty()
    
    genres = RelationshipTo('Genre', 'TAGGED')
    fans = RelationshipFrom('Fan', 'BOUGHTBY')
  

Комментарии:

1. Есть ли у вас остальная часть вашего кода, в которой появляется ошибка? Похоже, вы определяете два класса альбомов

Ответ №1:

Перезапуск ядра python устраняет проблему. Проблема в том, что при первом запуске определение класса попадает в реестр neomodel, последующие запуски считают, что вы переопределяете класс.

Вероятно, есть более простое исправление, какой-то флаг, который говорит, что мы занимаемся разработкой и тестированием, но не уверен, что это такое.