[英]Unable to set type of property to list of custom class
我正在尝试将此自定义 class 中的一个属性的类型设置为另一个自定义 class 的列表,但它不允许我这样做。 我已经尝试过List
和Sequence
,但都不允许我这样做。 我是否误解了应该如何使用类型?
from models import ClassificationAttributeConstraint, ClassificationAttributeRatioConstraint, ValueAttributeConstraint, PortfolioConstraint
from typing import List
class OptimizerInput:
case_id: int
job_type: str
frequency: int
risk_aversion: float
frontier_point: int
classification_attribute_constraints: List[ClassificationAttributeConstraint]
def __init__(self, case_id: int = None, job_type: str = None, frequency: int = None, risk_aversion: float = None,
frontier_point: int = None, classification_attribute_constraints: List[ClassificationAttributeConstraint] = None):
self.case_id = case_id
self.job_type = job_type
self.frequency = frequency
self.risk_aversion = risk_aversion
self.frontier_point = frontier_point
self.classification_attribute_constraints = classification_attribute_constraints
TypeError: Parameters to generic types must be types. Got <module 'models.ClassificationAttributeConstraint' from 'C:\\Users\\<removed>
问题在于import
语句,您的情况下的ClassificationAttributeConstraint
是一个模块,因为文件夹结构是:
module/
myscript.py
models/
__init__.py
ClassificationAttributeConstraint.py
...
因此,您需要从该模块导入 class 本身:
from models.ClassificationAttributeConstraint import ClassificationAttributeConstraint
它应该工作得很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.