<%
    schema_name = entity.name.capitalize() + 'Schema'
    create_schema_name = entity.name.capitalize() + 'Create'
    update_schema_name = entity.name.capitalize() + 'Update'
%>
from pydantic import BaseModel
from typing import Optional

class ${schema_name}(BaseModel):
    id: int
    % for field in entity.fields:
    ${field['name']}: ${'str' if field['type'] == 'String' else 'int' if field['type'] == 'Long' else 'bool' if field['type'] == 'Boolean' else 'str'}
    % endfor

    class Config:
        orm_mode = True

class ${create_schema_name}(BaseModel):
    % for field in entity.fields:
    % if field['name'] != 'id':
    ${field['name']}: ${'str' if field['type'] == 'String' else 'int' if field['type'] == 'Long' else 'bool' if field['type'] == 'Boolean' else 'str'}
    % endif
    % endfor

class ${update_schema_name}(BaseModel):
    % for field in entity.fields:
    % if field['name'] != 'id':
    ${field['name']}: Optional[${'str' if field['type'] == 'String' else 'int' if field['type'] == 'Long' else 'bool' if field['type'] == 'Boolean' else 'str'}]
    % endif
    % endfor