Как распаковать результат Django RawQuerySet в датафрейм pandas
Я использую необработанный SQL запрос для получения объектов из таблицы Postgresql:
data_result = Search.objects.raw(search_sql)
Проблема в том, что когда я пытаюсь поместить его в кадр данных Pandas, я получаю кадр данных в виде одного столбца, заполненного объектами, вместо того, чтобы распаковывать их для каждого свойства:
0 Search object (167157)
1 Search object (167159)
2 Search object (167160)
3 Search object (167163)
4 Search object (167164)
5 Search object (167165)
6 Search object (167166)
7 Search object (167169)
8 Search object (167170)
9 Search object (167174)
Единственный способ, которым мне удалось добиться этого, это обращение к свойству dict и последующее удаление свойства "_state", но это не кажется правильным способом сделать это:
data_result = pd.DataFrame([{key: value for key, value in row.__dict__.items() if key != '_state'} for row in data_result])
id number date
0 167157 180981-02 2022-02-04
1 167159 180983-01 2022-01-31
2 167160 180982-01 2022-01-31
3 167163 180990-01 2022-02-06
4 167164 180992-01 2022-01-24
5 167165 180998-01 2022-01-23
6 167166 180993-01 2022-02-08
7 167169 181001-01 2022-02-09
8 167170 181002-01 2022-02-11
9 167174 181026-02 2022-02-09
Я попробовал создать сериализатор, чтобы посмотреть, приходит ли он как словарь, но мне не повезло. Если я попытаюсь отправить параметр columns в Dataframe, то получу следующую ошибку: "Произошло неизвестное исключение. Форма переданных значений - (10, 1), индексы подразумевают (10, 3)"
Как мне создать pandas dataframe, который получает RawQuerySet и создает нужные столбцы?