我有以下嵌套结构:
from peewee import *
class Parent:
...
class A:
name = TextField()
class B:
from_A = ForeignKeyField(A)
我尝试在类B中的ForeignKeyField中引用类A,但A
和Parent.A
都返回名称未找到错误。从B类引用A类的正确方法是什么?这可能吗?
答案 0 :(得分:2)
在定义B类时,类Parent未完全定义,因此无法使用:在定义时,您只能使用:
但是您无法访问封闭块中定义的变量,无论是否为类。
所以你只剩下两个选择:
在定义完所有内容后,在运行时初始化元素(在这种意义上,运行时间立即从class Parent
块的结尾开始):
class Parent:
...
class A:
name = TextField()
class B:
...
Parent.B.from_A = ForeignKeyField(Parent.A)