fix sk
This commit is contained in:
@@ -23,6 +23,8 @@ DELIMITER = os.getenv('DYNAMODB_DELIMITER', '#')
|
||||
|
||||
|
||||
logger = Logger(__name__)
|
||||
serializer = TypeSerializer()
|
||||
deserializer = TypeDeserializer()
|
||||
|
||||
|
||||
def _serialize_python_type(value: Any) -> str | dict | list:
|
||||
@@ -42,14 +44,12 @@ def _serialize_python_type(value: Any) -> str | dict | list:
|
||||
|
||||
|
||||
def serialize(value: dict) -> dict:
|
||||
serializer = TypeSerializer()
|
||||
return {
|
||||
k: serializer.serialize(_serialize_python_type(v)) for k, v in value.items()
|
||||
}
|
||||
|
||||
|
||||
def deserialize(value: dict) -> dict:
|
||||
deserializer = TypeDeserializer()
|
||||
return {k: deserializer.deserialize(v) for k, v in value.items()}
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ class PartitionKey(Key):
|
||||
"""Represents a partition key for DynamoDB queries"""
|
||||
|
||||
def __init__(self, pk: str) -> None:
|
||||
super().__init__(**{PK: pk, SK: None})
|
||||
super().__init__(**{PK: pk})
|
||||
|
||||
def expr_attr_name(self) -> dict:
|
||||
return {'#pk': PK}
|
||||
@@ -670,7 +670,7 @@ class DynamoDBCollection:
|
||||
last_key = _startkey_b64encode(res['last_key']) if res['last_key'] else None
|
||||
|
||||
# Remove prefix from Sort Key if `key[SK]` is a PrefixKey
|
||||
if isinstance(key[SK], PrefixKey):
|
||||
if isinstance(key.get(SK), PrefixKey):
|
||||
prefix = key[SK].prefix
|
||||
items = [item | {SK: item[SK].removeprefix(prefix)} for item in items]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user