01_data_questionnaire
data_questionnaire
data_questionnaire(
model_cls: Type[BaseModel],
initial_data: Optional[Dict[str, Any]],
print_final: bool
) -> BaseModelExample:
from typing import List, Dict
from pydantic import BaseModel
import enum
class Role(enum.Enum):
ADMIN = "admin"
USER = "user"
GUEST = "guest"
class Tag(BaseModel):
label: str
score: int
class Preferences(BaseModel):
dark_mode: bool
language: str
class UserProfile(BaseModel):
username: str
age: int
primary_role: Role
roles: List[Role]
preferences: Preferences
skills: List[str]
tags: List[Tag]
notes: Dict[str, str]
projects: Dict[str, Tag]
user = data_questionnaire(UserProfile, initial_data={
'username': 'lukas',
'primary_role' : Role.USER,
'preferences': {
'language': 'en'
},
'roles': [Role.USER, Role.ADMIN],
'tags': [
Tag(label='tag1', score=1),
]
})