from datetime import datetime, timezone from functools import partial import nanoid from pydantic import Field NANOID_ALPHA = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" def get_now() -> datetime: """Get proper timestamp.""" return datetime.now(tz=timezone.utc) def get_id() -> str: """Get nanoid.""" return nanoid.generate(NANOID_ALPHA, 12) NowField = partial(Field, default_factory=get_now) NanoField = partial(Field, default_factory=get_id)