如何从嵌套 class 中引用另一个嵌套 class
How to reference another nested class from within nested class
我有以下嵌套结构:
from peewee import *
class Parent:
...
class A:
name = TextField()
class B:
from_A = ForeignKeyField(A)
我试图在 class B 中的 ForeignKeyField 中引用 class A,但是 A
和 Parent.A
return 均未找到名称错误.从 class B 中引用 class A 的正确方法是什么?这可能吗?
定义class B时,classParent没有完全定义所以不能使用:定义时只能使用:
- 全局变量
- 属于被定义元素的变量
但是您无权访问封闭块中定义的变量,无论它们是否 class。
所以你只有两个选择:
- 在 Parent
之外定义 class B
在定义所有内容后的 运行 时间初始化元素(从这个意义上说,运行 时间立即从 class Parent
块的末尾开始`) :
class Parent:
...
class A:
name = TextField()
class B:
...
Parent.B.from_A = ForeignKeyField(Parent.A)
我有以下嵌套结构:
from peewee import *
class Parent:
...
class A:
name = TextField()
class B:
from_A = ForeignKeyField(A)
我试图在 class B 中的 ForeignKeyField 中引用 class A,但是 A
和 Parent.A
return 均未找到名称错误.从 class B 中引用 class A 的正确方法是什么?这可能吗?
定义class B时,classParent没有完全定义所以不能使用:定义时只能使用:
- 全局变量
- 属于被定义元素的变量
但是您无权访问封闭块中定义的变量,无论它们是否 class。
所以你只有两个选择:
- 在 Parent 之外定义 class B
在定义所有内容后的 运行 时间初始化元素(从这个意义上说,运行 时间立即从
class Parent
块的末尾开始`) :class Parent: ... class A: name = TextField() class B: ... Parent.B.from_A = ForeignKeyField(Parent.A)