pointapi/models/user.py
2021-04-01 11:30:58 +08:00

29 lines
580 B
Python

from pydantic import BaseModel
from .base import Base, IP4, to_alias
__all__ = ('UserModel',)
class Preset(BaseModel):
ip: IP4
os: str
ttt: str = None
def dict(self, **kwargs):
res = super().dict(**kwargs)
return {'#' + k: v for k, v in res.items() if v is not None}
class Config:
alias_generator = to_alias
class UserModel(Base):
preset: Preset
def dict(self, **kwargs):
kwargs.setdefault('exclude', {'preset'})
self.properties.update(self.preset.dict(**kwargs))
return super().dict(**kwargs)