diff --git a/test/collection/test_filter.py b/test/collection/test_filter.py index ff120e964..c9bdd1c21 100644 --- a/test/collection/test_filter.py +++ b/test/collection/test_filter.py @@ -4,7 +4,7 @@ import weaviate import weaviate.classes as wvc -from weaviate.collections.classes.filters import _FilterAnd, _FilterOr +from weaviate.collections.classes.filters import Filter, _FilterAnd, _FilterOr def test_empty_input_contains_any() -> None: @@ -86,3 +86,9 @@ def test_filter_bitwise_or_assignment() -> None: assert isinstance(or_direct.filters[0], _FilterOr) assert f4.filters[0].filters == or_direct.filters[0].filters assert f4.filters[1] == f3 + + +def test_auto_capitalize_first_letter_by_ref_multi_target() -> None: + result = Filter.by_ref_multi_target(link_on="ref1", target_collection="test") + target_collection_stored = result._FilterByRef__target.target_collection + assert target_collection_stored == "Test" diff --git a/weaviate/collections/classes/filters.py b/weaviate/collections/classes/filters.py index 25584172a..854fb0c80 100644 --- a/weaviate/collections/classes/filters.py +++ b/weaviate/collections/classes/filters.py @@ -9,7 +9,7 @@ from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import base_pb2 from weaviate.types import UUID -from weaviate.util import get_valid_uuid +from weaviate.util import get_valid_uuid, _capitalize_first_letter class _Operator(str, Enum): @@ -480,6 +480,7 @@ def by_ref(self, link_on: str) -> "_FilterByRef": def by_ref_multi_target(self, reference: str, target_collection: str) -> "_FilterByRef": """Filter on the given multi-target reference.""" + target_collection = _capitalize_first_letter(target_collection) self.__last_target.target = _MultiTargetRef( link_on=reference, target_collection=target_collection ) @@ -528,6 +529,7 @@ def by_ref(link_on: str) -> _FilterByRef: @staticmethod def by_ref_multi_target(link_on: str, target_collection: str) -> _FilterByRef: """Define a filter based on a reference to be used when querying and deleting from a collection.""" + target_collection = _capitalize_first_letter(target_collection) return _FilterByRef(_MultiTargetRef(link_on=link_on, target_collection=target_collection)) @staticmethod