CI: PostgreSQL fails unless tag integers are always strings

This commit is contained in:
Griatch 2026-02-14 20:33:31 +01:00
parent d72a46ef4b
commit 4f9383ee33
2 changed files with 16 additions and 3 deletions

View file

@ -278,7 +278,7 @@ class TypedObjectManager(idmapper.manager.SharedMemoryManager):
than `key`.
"""
if not (key or category):
if key is None and category is None:
return []
global _Tag
@ -287,8 +287,16 @@ class TypedObjectManager(idmapper.manager.SharedMemoryManager):
anymatch = "any" == kwargs.get("match", "all").lower().strip()
keys = make_iter(key) if key else []
categories = make_iter(category) if category else []
_normalize_tag_value = lambda value: (
str(value).strip().lower() if value is not None else None
)
keys = [_normalize_tag_value(val) for val in make_iter(key)] if key is not None else []
categories = (
[_normalize_tag_value(val) for val in make_iter(category)]
if category is not None
else []
)
n_keys = len(keys)
n_categories = len(categories)
unique_categories = set(categories)

View file

@ -204,6 +204,11 @@ class TestTypedObjectManager(BaseEvenniaTest):
[],
)
def test_get_by_tag_with_integer_key_and_category(self):
self.obj1.tags.add(123, 456)
self.assertEqual(self._manager("get_by_tag", 123, 456), [self.obj1])
self.assertEqual(self._manager("get_by_tag", "123", "456"), [self.obj1])
def test_batch_add(self):
tags = ["tag1", ("tag2", "category2"), "tag3", ("tag4", "category4", "data4")]
self.obj1.tags.batch_add(*tags)