Skip to content

Commit bae46e6

Browse files
committed
restrict namespacing to hash name only
1 parent ed27999 commit bae46e6

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

django_redis/client/default.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,8 +1099,8 @@ def touch(
10991099

11001100
def hset(
11011101
self,
1102-
name: str,
1103-
key: KeyT,
1102+
name: KeyT,
1103+
key: str,
11041104
value: EncodableT,
11051105
version: Optional[int] = None,
11061106
client: Optional[Redis] = None,
@@ -1111,14 +1111,15 @@ def hset(
11111111
"""
11121112
if client is None:
11131113
client = self.get_client(write=True)
1114-
nkey = self.make_key(key, version=version)
1114+
1115+
name = self.make_key(name, version=version)
11151116
nvalue = self.encode(value)
1116-
return int(client.hset(name, nkey, nvalue))
1117+
return int(client.hset(name, key, nvalue))
11171118

11181119
def hdel(
11191120
self,
1120-
name: str,
1121-
key: KeyT,
1121+
name: KeyT,
1122+
key: str,
11221123
version: Optional[int] = None,
11231124
client: Optional[Redis] = None,
11241125
) -> int:
@@ -1128,40 +1129,47 @@ def hdel(
11281129
"""
11291130
if client is None:
11301131
client = self.get_client(write=True)
1131-
nkey = self.make_key(key, version=version)
1132-
return int(client.hdel(name, nkey))
1132+
1133+
name = self.make_key(name, version=version)
1134+
return int(client.hdel(name, key))
11331135

11341136
def hlen(
11351137
self,
1136-
name: str,
1138+
name: KeyT,
1139+
version: Optional[int] = None,
11371140
client: Optional[Redis] = None,
11381141
) -> int:
11391142
"""
11401143
Return the number of items in hash name.
11411144
"""
11421145
if client is None:
11431146
client = self.get_client(write=False)
1147+
1148+
name = self.make_key(name, version=version)
11441149
return int(client.hlen(name))
11451150

11461151
def hkeys(
11471152
self,
1148-
name: str,
1153+
name: KeyT,
1154+
version: Optional[int] = None,
11491155
client: Optional[Redis] = None,
11501156
) -> List[Any]:
11511157
"""
11521158
Return a list of keys in hash name.
11531159
"""
11541160
if client is None:
11551161
client = self.get_client(write=False)
1162+
1163+
name = self.make_key(name, version=version)
11561164
try:
1157-
return [self.reverse_key(k.decode()) for k in client.hkeys(name)]
1165+
return [k.decode() for k in client.hkeys(name)]
11581166
except _main_exceptions as e:
11591167
raise ConnectionInterrupted(connection=client) from e
11601168

11611169
def hexists(
11621170
self,
1163-
name: str,
1164-
key: KeyT,
1171+
name: KeyT,
1172+
key: str,
11651173
version: Optional[int] = None,
11661174
client: Optional[Redis] = None,
11671175
) -> bool:
@@ -1170,5 +1178,6 @@ def hexists(
11701178
"""
11711179
if client is None:
11721180
client = self.get_client(write=False)
1173-
nkey = self.make_key(key, version=version)
1174-
return bool(client.hexists(name, nkey))
1181+
1182+
name = self.make_key(name, version=version)
1183+
return bool(client.hexists(name, key))

0 commit comments

Comments
 (0)