Skip to content

Conversation

@shapiromatron
Copy link
Owner

@shapiromatron shapiromatron commented Oct 11, 2023

Rewrite DRF serializer based riskofbias exports with exports using our new QuerySet based approach. Tested on one project, we reduced the number of queries from 750+ to ~5. Looking at just db time on the debug toolbar, from 600ms to around 50ms; this doesn't include the python runtime decrease with converting to Django models and corresponding serializer objects.

I renamed a few columns in the export just as the prior names seemed incorrect, and since this export isn't used in any downstream views in HAWC, renaming should be harmless.

@shapiromatron shapiromatron marked this pull request as ready for review October 11, 2023 02:13
Base automatically changed from epi-export-rewrite to export-rewrites October 12, 2023 13:58
Copy link
Collaborator

@rabstejnek rabstejnek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just one optional comment to address.

@shapiromatron shapiromatron merged commit ce11ca0 into export-rewrites Oct 12, 2023
@shapiromatron shapiromatron deleted the rob-export-rewrite branch October 12, 2023 22:58
rabstejnek added a commit that referenced this pull request Jul 2, 2024
* Epi export rewrite (#911)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* use vectorized timestamp conversion

* minor formatting

---------

Co-authored-by: Andy Shapiro <[email protected]>

* rewrite riskofbias exports (#921)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* rewrite riskofbias exports

* update naming for domain and metric

---------

Co-authored-by: Daniel Rabstejnek <[email protected]>

* Epimeta export rewrite (#922)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* epimeta export rewrite

* remove obsolete code

* changes

* merge fix

* update admin site to browse data pivot by evidence type

---------

Co-authored-by: Andy Shapiro <[email protected]>

* Invitro export rewrite (#958)

* Convert invitro exports

* Fix exporter datetime converter when datetime is None

* Fix exports where there's no data

* DTXSID in export should be None instead of useless dict if missing

* add endpoint categories

* Remove bloated dsstox dict from exports in favor of dtxsid

---------

Co-authored-by: Andy Shapiro <[email protected]>

* Animal export rewrite (#961)

* Made animal model exports, began configuring exporters

* first export largely done, second export mostly done

* Some cleanups, finished fourth animal exporter

* Changes after more testing

* Fix tests

* Remove remaining flat_complete_* methods

* Cleanup

* Update sql_display to accept dict

* Add TODO to comment to easily find it

* Rename exporters to match the flat file exporter class names

* Add safeguard for qs accessing and fix groupby side effects (#982)

* two updates

* move to correct place

* exports-v2 - Updates from image review (#1058)

* remove duplicate rename calls

* add ci calculation

* update treatment period calculation

* add back space; fix caused too many false positives in comparison

* properly handle a 500 response from the server in a data pivot

* fix epi logic from plot review

* fix invitro export when category id is null; remove category id from export

* add unique rob columns

* use same method for categories

* refactor into a reusable method

* remove pytest warning "Marks applied to fixtures have no effect"

* refactor; write tests

* add tests

* rewrite animal export test using same pattern

* add udf to openapi

* remove extra whitespace (will change visuals; known change)

---------

Co-authored-by: Daniel Rabstejnek <[email protected]>
shapiromatron added a commit that referenced this pull request Sep 3, 2024
* Epi export rewrite (#911)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* use vectorized timestamp conversion

* minor formatting

---------

Co-authored-by: Andy Shapiro <[email protected]>

* rewrite riskofbias exports (#921)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* rewrite riskofbias exports

* update naming for domain and metric

---------

Co-authored-by: Daniel Rabstejnek <[email protected]>

* Epimeta export rewrite (#922)

* preliminary epi rewrite

* changes

* changes

* changes

* fix

* added back something accidentally deleted

* moved code

* fix test

* remove old stuff

* cleanup:

* epimeta export rewrite

* remove obsolete code

* changes

* merge fix

* update admin site to browse data pivot by evidence type

---------

Co-authored-by: Andy Shapiro <[email protected]>

* started simple assessment value exports

* added more assessment fields

* add helper method to filter querysets in custom api viewset actions

* added assessment fields, and year filter

* added order_by and pagination fields to filterset

* changed format_time to accomodate pandas update

* fixed filtering for df with empty values

* add a few more options

---------

Co-authored-by: Daniel Rabstejnek <[email protected]>
Co-authored-by: Danny Peterson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants