【发布时间】:2021-10-28 11:54:42
【问题描述】:
class mail(BaseModel):
mailid: int
email: str
class User(BaseModel):
id: int
name: str
mails: List[mail]
data = {
'id': 123,
'name': 'Jane Doe',
'mails':[
{'mailid':1,'email':'aeajhs@gmail.com'},
{'mailid':2,'email':'aeajhsds@gmail.com'}
]
}
userobj = User(**data)
如何在mail类或mailid从mail类中获取email的值?
当我尝试使用 print(mail.email) 时,它会抛出错误
AttributeError: type object 'mail' has no attribute 'email'
当我使用这个的时候也出错了
print(userobj.mails.email)
AttributeError: 'list' object has no attribute 'email'
当我使用它时,我得到如下数据
print(userobj.mails)
[mail(mailid=1, email='aeajhs@gmail.com'), mail(mailid=2, email='aeajhsds@gmail.com')]
我的愿望输出必须是当我想打印电子邮件时我必须得到'aeajhs@gmail.com','aeajhsds@gmail.com'
【问题讨论】:
-
我能以字典形式接收邮件