пытается иметь два класса, которые ссылаются друг на друга, в том же файле. Каким будет наилучший способ для этой работы:Круговые ссылки Python
class Foo(object):
other = Bar
class Bar(object):
other = Foo
if __name__ == '__main__':
print 'all ok'
?
Проблема заключается в том, что, поскольку свойство находится в классе, поскольку оно пытается выполнить, как только сам класс анализируется.
Есть ли способ решить это?
редактировать:
эти ключи используются для отображения SQLAlchemy, чтобы они действительно являются переменными класса (не экземпляра).
Убейте меня на несколько секунд ... :-) –
Это используется с sqlalchemy для создания отношений между моделями, документ, кажется, указывает на такой дизайн (документ для фляги, если быть точным), это решение кажется странно. – sharvey
AFAIK sqlalchemy использует строковые ссылки для внешних ключей и позволяет избежать этой проблемы таким образом, но, возможно, есть случаи, когда вам нужно это делать. – zvone