django-pandas icon indicating copy to clipboard operation
django-pandas copied to clipboard

Fix: Ensure Cache Key pk is Converted to INT to Prevent Dataframe Series Null Issues

Open arthur-verta opened this issue 11 months ago • 0 comments

-> Ensure that the cache key pk (if used) is always converted to an INT format.

This addresses a bug that occurs when a queryset is loaded into a dataframe. Specifically, if the queryset includes a foreign key with nullable fields and a mix of instances with null and non-null related fields, pandas assigns the dtype of the primary key (pk) column as object. Consequently, pk values are automatically converted to floats because a pandas integer Series cannot contain None.

To avoid this, we must explicitly reconvert the pk column to INT before using it as a cache key.

Without this step, as of now, the dataframe ends up with None for every row in such cases.

[Using pandas 2.2.2]

arthur-verta avatar Dec 23 '24 22:12 arthur-verta