[code]class SiteDaoRedis(SiteDaoBase, RedisDaoBase): """SiteDaoRedis persists Site models to Redis. This class allows persisting (and querying for) Sites in Redis. """ def insert(self, site: Site, **kwargs): """Insert a Site into Redis.""" hash_key = self.key_schema.site_hash_key(site.id) site_ids_key = self.key_schema.site_ids_key() client = kwargs.get('pipeline', self.redis) client.hset(hash_key, mapping=site.dict()) client.sadd(site_ids_key, site.id)
class Coordinate(BaseModel): """A coordinate pair.""" lng: float lat: float
class Site(BaseModel): """A solar power installation.""" id: Optional[UUID] = Field(default_factory=uuid4) capacity: float panels: int address: str city: str state: str postal_code: str coordinate: Union[Coordinate, None] = None
[/code] После попытки вставки [b]Получение этой ошибки:[/b] - [b]redis.Exceptions.DataError: элемент кортежа должен быть str, int, float или bytes.[/b]