假设我们有一张名单:
students = ['A','B','C']
我有一个带pydantic的模型:
class Student(BaseModel):
name: str
rank: int = 0
我有一个模型,我想动态地给学生们填充,并且有一个模板:
class MathClass(BaseModel):
def __init__(self, student_names):
self.students = []
for student_name in student_names:
self.students.append(Student(name=student_name))
当我用
math_class=MathClass(students)
我得到这个错误:
ValueError: "MathClass" object has no field "students"
为什么会这样?有更好的方法吗
我认为这个问题与没有在模型本身中定义学生以及没有对继承的类调用
__init__()
有关。我可以通过修改MathClass
使您的代码运行,如下所示:祝你好运和快乐
相关问题 更多 >
编程相关推荐