from pydantic import BaseModel
from typing import Optional


# 数据模型基类: UsersBase,用于描述基础字段的类型、用途和注意点
class UsersBase(BaseModel):
    owner_uid: int
    groupid: int
    founder_groupid: int
    username: str
    password: str
    salt: str
    type: int
    status: int
    joindate: int
    joinip: str
    lastvisit: int
    lastip: str
    remark: str
    starttime: int
    endtime: int
    register_type: int
    openid: str
    welcome_link: int
    notice_setting: str
    is_bind: int


class UsersCreate(UsersBase):
    """
    用于创建新的ims_users记录:
    - 继承自UsersBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersUpdate(BaseModel):
    """
    用于更新已有ims_users记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    owner_uid: Optional[int]
    groupid: Optional[int]
    founder_groupid: Optional[int]
    username: Optional[str]
    password: Optional[str]
    salt: Optional[str]
    type: Optional[int]
    status: Optional[int]
    joindate: Optional[int]
    joinip: Optional[str]
    lastvisit: Optional[int]
    lastip: Optional[str]
    remark: Optional[str]
    starttime: Optional[int]
    endtime: Optional[int]
    register_type: Optional[int]
    openid: Optional[str]
    welcome_link: Optional[int]
    notice_setting: Optional[str]
    is_bind: Optional[int]


class Users(UsersBase):
    """
    表示完整的ims_users记录:

    """
    acid: int

    class Config:
         from_attributes = True


# 数据模型基类: UsersBindBase,用于描述基础字段的类型、用途和注意点
class UsersBindBase(BaseModel):
    uid: int
    bind_sign: str
    third_type: int
    third_nickname: str


class UsersBindCreate(UsersBindBase):
    """
    用于创建新的ims_users_bind记录:
    - 继承自UsersBindBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersBindUpdate(BaseModel):
    """
    用于更新已有ims_users_bind记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    bind_sign: Optional[str]
    third_type: Optional[int]
    third_nickname: Optional[str]


class UsersBind(UsersBindBase):
    """
    表示完整的ims_users_bind记录:

    """
    acid: int

    class Config:
         from_attributes = True


# 数据模型基类: UsersCreateGroupBase,用于描述基础字段的类型、用途和注意点
class UsersCreateGroupBase(BaseModel):
    group_name: str
    maxaccount: int
    maxwxapp: int
    maxwebapp: int
    maxphoneapp: int
    maxxzapp: int
    maxaliapp: int
    createtime: int
    maxbaiduapp: int
    maxtoutiaoapp: int


class UsersCreateGroupCreate(UsersCreateGroupBase):
    """
    用于创建新的ims_users_create_group记录:
    - 继承自UsersCreateGroupBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersCreateGroupUpdate(BaseModel):
    """
    用于更新已有ims_users_create_group记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    group_name: Optional[str]
    maxaccount: Optional[int]
    maxwxapp: Optional[int]
    maxwebapp: Optional[int]
    maxphoneapp: Optional[int]
    maxxzapp: Optional[int]
    maxaliapp: Optional[int]
    createtime: Optional[int]
    maxbaiduapp: Optional[int]
    maxtoutiaoapp: Optional[int]


class UsersCreateGroup(UsersCreateGroupBase):
    """
    表示完整的ims_users_create_group记录:

    """
    acid: int

    class Config:
         from_attributes = True


# 数据模型基类: UsersExtraGroupBase,用于描述基础字段的类型、用途和注意点
class UsersExtraGroupBase(BaseModel):
    uid: int
    uni_group_id: int
    create_group_id: int


class UsersExtraGroupCreate(UsersExtraGroupBase):
    """
    用于创建新的ims_users_extra_group记录:
    - 继承自UsersExtraGroupBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersExtraGroupUpdate(BaseModel):
    """
    用于更新已有ims_users_extra_group记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    uni_group_id: Optional[int]
    create_group_id: Optional[int]


class UsersExtraGroup(UsersExtraGroupBase):
    """
    表示完整的ims_users_extra_group记录:

    """
    acid: int

    class Config:
         from_attributes = True



# 数据模型基类: UsersExtraLimitBase,用于描述基础字段的类型、用途和注意点
class UsersExtraLimitBase(BaseModel):
    uid: int
    maxaccount: int
    maxwxapp: int
    maxwebapp: int
    maxphoneapp: int
    maxxzapp: int
    maxaliapp: int
    timelimit: int
    maxbaiduapp: int
    maxtoutiaoapp: int


class UsersExtraLimitCreate(UsersExtraLimitBase):
    """
    用于创建新的ims_users_extra_limit记录:
    - 继承自UsersExtraLimitBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersExtraLimitUpdate(BaseModel):
    """
    用于更新已有ims_users_extra_limit记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    maxaccount: Optional[int]
    maxwxapp: Optional[int]
    maxwebapp: Optional[int]
    maxphoneapp: Optional[int]
    maxxzapp: Optional[int]
    maxaliapp: Optional[int]
    timelimit: Optional[int]
    maxbaiduapp: Optional[int]
    maxtoutiaoapp: Optional[int]


class UsersExtraLimit(UsersExtraLimitBase):
    """
    表示完整的ims_users_extra_limit记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersExtraModulesBase,用于描述基础字段的类型、用途和注意点
class UsersExtraModulesBase(BaseModel):
    uid: int
    module_name: str
    support: str


class UsersExtraModulesCreate(UsersExtraModulesBase):
    """
    用于创建新的ims_users_extra_modules记录:
    - 继承自UsersExtraModulesBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersExtraModulesUpdate(BaseModel):
    """
    用于更新已有ims_users_extra_modules记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    module_name: Optional[str]
    support: Optional[str]


class UsersExtraModules(UsersExtraModulesBase):
    """
    表示完整的ims_users_extra_modules记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersExtraTemplatesBase,用于描述基础字段的类型、用途和注意点
class UsersExtraTemplatesBase(BaseModel):
    uid: int
    template_id: int


class UsersExtraTemplatesCreate(UsersExtraTemplatesBase):
    """
    用于创建新的ims_users_extra_templates记录:
    - 继承自UsersExtraTemplatesBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersExtraTemplatesUpdate(BaseModel):
    """
    用于更新已有ims_users_extra_templates记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    template_id: Optional[int]


class UsersExtraTemplates(UsersExtraTemplatesBase):
    """
    表示完整的ims_users_extra_templates记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersFailedLoginBase,用于描述基础字段的类型、用途和注意点
class UsersFailedLoginBase(BaseModel):
    ip: str
    username: str
    count: int
    lastupdate: int


class UsersFailedLoginCreate(UsersFailedLoginBase):
    """
    用于创建新的ims_users_failed_login记录:
    - 继承自UsersFailedLoginBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFailedLoginUpdate(BaseModel):
    """
    用于更新已有ims_users_failed_login记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    ip: Optional[str]
    username: Optional[str]
    count: Optional[int]
    lastupdate: Optional[int]


class UsersFailedLogin(UsersFailedLoginBase):
    """
    表示完整的ims_users_failed_login记录:

    """
    acid: int

    class Config:
        from_attributes = True




# 数据模型基类: UsersFounderGroupBase,用于描述基础字段的类型、用途和注意点
class UsersFounderGroupBase(BaseModel):
    name: str
    package: str
    maxaccount: int
    timelimit: int
    maxwxapp: int
    maxwebapp: int
    maxphoneapp: int
    maxxzapp: int
    maxaliapp: int
    maxbaiduapp: int
    maxtoutiaoapp: int


class UsersFounderGroupCreate(UsersFounderGroupBase):
    """
    用于创建新的ims_users_founder_group记录:
    - 继承自UsersFounderGroupBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFounderGroupUpdate(BaseModel):
    """
    用于更新已有ims_users_founder_group记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    name: Optional[str]
    package: Optional[str]
    maxaccount: Optional[int]
    timelimit: Optional[int]
    maxwxapp: Optional[int]
    maxwebapp: Optional[int]
    maxphoneapp: Optional[int]
    maxxzapp: Optional[int]
    maxaliapp: Optional[int]
    maxbaiduapp: Optional[int]
    maxtoutiaoapp: Optional[int]


class UsersFounderGroup(UsersFounderGroupBase):
    """
    表示完整的ims_users_founder_group记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersFounderOwnCreateGroupsBase,用于描述基础字段的类型、用途和注意点
class UsersFounderOwnCreateGroupsBase(BaseModel):
    founder_uid: int
    create_group_id: int


class UsersFounderOwnCreateGroupsCreate(UsersFounderOwnCreateGroupsBase):
    """
    用于创建新的ims_users_founder_own_create_groups记录:
    - 继承自UsersFounderOwnCreateGroupsBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFounderOwnCreateGroupsUpdate(BaseModel):
    """
    用于更新已有ims_users_founder_own_create_groups记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    founder_uid: Optional[int]
    create_group_id: Optional[int]


class UsersFounderOwnCreateGroups(UsersFounderOwnCreateGroupsBase):
    """
    表示完整的ims_users_founder_own_create_groups记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersFounderOwnUniGroupsBase,用于描述基础字段的类型、用途和注意点
class UsersFounderOwnUniGroupsBase(BaseModel):
    founder_uid: int
    uni_group_id: int


class UsersFounderOwnUniGroupsCreate(UsersFounderOwnUniGroupsBase):
    """
    用于创建新的ims_users_founder_own_uni_groups记录:
    - 继承自UsersFounderOwnUniGroupsBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFounderOwnUniGroupsUpdate(BaseModel):
    """
    用于更新已有ims_users_founder_own_uni_groups记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    founder_uid: Optional[int]
    uni_group_id: Optional[int]


class UsersFounderOwnUniGroups(UsersFounderOwnUniGroupsBase):
    """
    表示完整的ims_users_founder_own_uni_groups记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersFounderOwnUsersBase,用于描述基础字段的类型、用途和注意点
class UsersFounderOwnUsersBase(BaseModel):
    uid: int
    founder_uid: int


class UsersFounderOwnUsersCreate(UsersFounderOwnUsersBase):
    """
    用于创建新的ims_users_founder_own_users记录:
    - 继承自UsersFounderOwnUsersBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFounderOwnUsersUpdate(BaseModel):
    """
    用于更新已有ims_users_founder_own_users记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    founder_uid: Optional[int]


class UsersFounderOwnUsers(UsersFounderOwnUsersBase):
    """
    表示完整的ims_users_founder_own_users记录:

    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersFounderOwnUsersGroupsBase,用于描述基础字段的类型、用途和注意点
class UsersFounderOwnUsersGroupsBase(BaseModel):
    founder_uid: int
    users_group_id: int


class UsersFounderOwnUsersGroupsCreate(UsersFounderOwnUsersGroupsBase):
    """
    用于创建新的ims_users_founder_own_users_groups记录:
    - 继承自UsersFounderOwnUsersGroupsBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersFounderOwnUsersGroupsUpdate(BaseModel):
    """
    用于更新已有ims_users_founder_own_users_groups记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    founder_uid: Optional[int]
    users_group_id: Optional[int]


class UsersFounderOwnUsersGroups(UsersFounderOwnUsersGroupsBase):
    """
    表示完整的ims_users_founder_own_users_groups记录:

    """
    acid: int

    class Config:
        from_attributes = True




# 数据模型基类: UsersGroupBase,用于描述基础字段的类型、用途和注意点
class UsersGroupBase(BaseModel):
    owner_uid: int
    name: str
    package: str
    maxaccount: int
    timelimit: int
    maxwxapp: int
    maxwebapp: int
    maxphoneapp: int
    maxxzapp: int
    maxaliapp: int
    maxbaiduapp: int
    maxtoutiaoapp: int


class UsersGroupCreate(UsersGroupBase):
    """
    用于创建新的ims_users_group记录:
    - 继承自UsersGroupBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersGroupUpdate(BaseModel):
    """
    用于更新已有ims_users_group记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    owner_uid: Optional[int]
    name: Optional[str]
    package: Optional[str]
    maxaccount: Optional[int]
    timelimit: Optional[int]
    maxwxapp: Optional[int]
    maxwebapp: Optional[int]
    maxphoneapp: Optional[int]
    maxxzapp: Optional[int]
    maxaliapp: Optional[int]
    maxbaiduapp: Optional[int]
    maxtoutiaoapp: Optional[int]


class UsersGroup(UsersGroupBase):
    """
    表示完整的ims_users_group记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersInvitationBase,用于描述基础字段的类型、用途和注意点
class UsersInvitationBase(BaseModel):
    code: str
    fromuid: int
    inviteuid: int
    createtime: int


class UsersInvitationCreate(UsersInvitationBase):
    """
    用于创建新的ims_users_invitation记录:
    - 继承自UsersInvitationBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersInvitationUpdate(BaseModel):
    """
    用于更新已有ims_users_invitation记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    code: Optional[str]
    fromuid: Optional[int]
    inviteuid: Optional[int]
    createtime: Optional[int]


class UsersInvitation(UsersInvitationBase):
    """
    表示完整的ims_users_invitation记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersLastUseBase,用于描述基础字段的类型、用途和注意点
class UsersLastUseBase(BaseModel):
    uid: int
    uniacid: int
    modulename: str
    type: str


class UsersLastUseCreate(UsersLastUseBase):
    """
    用于创建新的ims_users_lastuse记录:
    - 继承自UsersLastUseBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersLastUseUpdate(BaseModel):
    """
    用于更新已有ims_users_lastuse记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    uniacid: Optional[int]
    modulename: Optional[str]
    type: Optional[str]


class UsersLastUse(UsersLastUseBase):
    """
    表示完整的ims_users_lastuse记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersLoginLogsBase,用于描述基础字段的类型、用途和注意点
class UsersLoginLogsBase(BaseModel):
    uid: int
    ip: str
    city: str
    login_at: int


class UsersLoginLogsCreate(UsersLoginLogsBase):
    """
    用于创建新的ims_users_login_logs记录:
    - 继承自UsersLoginLogsBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersLoginLogsUpdate(BaseModel):
    """
    用于更新已有ims_users_login_logs记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    ip: Optional[str]
    city: Optional[str]
    login_at: Optional[int]


class UsersLoginLogs(UsersLoginLogsBase):
    """
    表示完整的ims_users_login_logs记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True




# 数据模型基类: UsersOperateHistoryBase,用于描述基础字段的类型、用途和注意点
class UsersOperateHistoryBase(BaseModel):
    type: int
    uid: int
    uniacid: int
    module_name: str
    createtime: int


class UsersOperateHistoryCreate(UsersOperateHistoryBase):
    """
    用于创建新的ims_users_operate_history记录:
    - 继承自UsersOperateHistoryBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersOperateHistoryUpdate(BaseModel):
    """
    用于更新已有ims_users_operate_history记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    type: Optional[int]
    uid: Optional[int]
    uniacid: Optional[int]
    module_name: Optional[str]
    createtime: Optional[int]


class UsersOperateHistory(UsersOperateHistoryBase):
    """
    表示完整的ims_users_operate_history记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersOperateStarBase,用于描述基础字段的类型、用途和注意点
class UsersOperateStarBase(BaseModel):
    type: int
    uid: int
    uniacid: int
    module_name: str
    rank: int
    createtime: int


class UsersOperateStarCreate(UsersOperateStarBase):
    """
    用于创建新的ims_users_operate_star记录:
    - 继承自UsersOperateStarBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersOperateStarUpdate(BaseModel):
    """
    用于更新已有ims_users_operate_star记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    type: Optional[int]
    uid: Optional[int]
    uniacid: Optional[int]
    module_name: Optional[str]
    rank: Optional[int]
    createtime: Optional[int]


class UsersOperateStar(UsersOperateStarBase):
    """
    表示完整的ims_users_operate_star记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True


# 数据模型基类: UsersPermissionBase,用于描述基础字段的类型、用途和注意点
class UsersPermissionBase(BaseModel):
    uniacid: int
    uid: int
    type: str
    permission: str
    url: str
    modules: str
    templates: str


class UsersPermissionCreate(UsersPermissionBase):
    """
    用于创建新的ims_users_permission记录:
    - 继承自UsersPermissionBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersPermissionUpdate(BaseModel):
    """
    用于更新已有ims_users_permission记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uniacid: Optional[int]
    uid: Optional[int]
    type: Optional[str]
    permission: Optional[str]
    url: Optional[str]
    modules: Optional[str]
    templates: Optional[str]


class UsersPermission(UsersPermissionBase):
    """
    表示完整的ims_users_permission记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True



# 数据模型基类: UsersProfileBase,用于描述基础字段的类型、用途和注意点
class UsersProfileBase(BaseModel):
    uid: int
    createtime: int
    edittime: int
    realname: str
    nickname: str
    avatar: str
    qq: str
    mobile: str
    fakeid: str
    vip: int
    gender: int
    birthyear: int
    birthmonth: int
    birthday: int
    constellation: str
    zodiac: str
    telephone: str
    idcard: str
    studentid: str
    grade: str
    address: str
    zipcode: str
    nationality: str
    resideprovince: str
    residecity: str
    residedist: str
    graduateschool: str
    company: str
    education: str
    occupation: str
    position: str
    revenue: str
    affectivestatus: str
    lookingfor: str
    bloodtype: str
    height: str
    weight: str
    alipay: str
    msn: str
    email: str
    taobao: str
    site: str
    bio: str
    interest: str
    workerid: str
    is_send_mobile_status: int
    send_expire_status: int


class UsersProfileCreate(UsersProfileBase):
    """
    用于创建新的ims_users_profile记录:
    - 继承自UsersProfileBase,不额外添加字段
    - 仅表示此Schema专用于'创建'场景
    """
    pass


class UsersProfileUpdate(BaseModel):
    """
    用于更新已有ims_users_profile记录:
    - 只包含可选字段,未在此处的内容将保持不变
    - 注意: exclude_unset=True 可以避免更新空值
    """
    uid: Optional[int]
    createtime: Optional[int]
    edittime: Optional[int]
    realname: Optional[str]
    nickname: Optional[str]
    avatar: Optional[str]
    qq: Optional[str]
    mobile: Optional[str]
    fakeid: Optional[str]
    vip: Optional[int]
    gender: Optional[int]
    birthyear: Optional[int]
    birthmonth: Optional[int]
    birthday: Optional[int]
    constellation: Optional[str]
    zodiac: Optional[str]
    telephone: Optional[str]
    idcard: Optional[str]
    studentid: Optional[str]
    grade: Optional[str]
    address: Optional[str]
    zipcode: Optional[str]
    nationality: Optional[str]
    resideprovince: Optional[str]
    residecity: Optional[str]
    residedist: Optional[str]
    graduateschool: Optional[str]
    company: Optional[str]
    education: Optional[str]
    occupation: Optional[str]
    position: Optional[str]
    revenue: Optional[str]
    affectivestatus: Optional[str]
    lookingfor: Optional[str]
    bloodtype: Optional[str]
    height: Optional[str]
    weight: Optional[str]
    alipay: Optional[str]
    msn: Optional[str]
    email: Optional[str]
    taobao: Optional[str]
    site: Optional[str]
    bio: Optional[str]
    interest: Optional[str]
    workerid: Optional[str]
    is_send_mobile_status: Optional[int]
    send_expire_status: Optional[int]


class UsersProfile(UsersProfileBase):
    """
    表示完整的ims_users_profile记录:
    - acid: 数据库主键ID
    - 包含所有字段的最终模型,ORM转换时使用
    """
    acid: int

    class Config:
        from_attributes = True