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

Feature proposal: Allow providing dicts to fieldnames for downstream renaming

Open ilykos opened this issue 8 months ago • 0 comments

In many occasions, name of distant cousin table fields like driver__vehicle__part__manufacturer can be too verbose and hard to manage. I often find myself renaming these to a more convenient name, but that requires chaining an additional rename on top of the result.

I suggest allowing user to supply a name mapping as a dict() where keys() are used in the regular to_dataframe fashion, while items() are used as columns= value for renaming, before the dataframe is returned. Here's what it would look like

# user code 
fieldname_dict = {
    "driver__vehicle__part__manufacturer": "part_manufacturer"
}

Model.objects.to_dataframe(fieldnames=fieldname_dict)

# inside `to_dataframe`
...
return qs.to_dataframe().rename(columns=fieldname_dict)

ilykos avatar Jun 13 '24 17:06 ilykos