Total_count not working with filters on date values

hi @longspearfish !!

Welcome to our community! :hugs:

This is a :bug: bug in the python client.
Edit: Not really…

this is because whatever you pass as the comparison argument, the client will infer the data type to pass it over to Weaviate.

So when you pass a date using string, it will use valueText instead of valueDate.

Hence the error code:

cannot use \"valueText\" on type \"date\", use \"valueDate\" instead"

Here is the client code for this

So you need to pass a python date object.

this will work:

from datetime import datetime
timestamp = "2020-01-01T00:00:00Z"
dt = datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%SZ")
collection.aggregate.over_all(
    filters = Filter.by_property('published_date').greater_or_equal(dt)
).total_count

Let me know if this helps!

Thanks!

1 Like