01_data_questionnaire

data_questionnaire

data_questionnaire(
   model_cls: Type[BaseModel],
   initial_data: Optional[Dict[str, Any]],
   print_final: bool
) -> BaseModel

Example:

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),
    ]
})