Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Django Upgrade] [ENG-3947] Update import paths and fix module deprecation #9983

Conversation

Johnetordoff
Copy link
Contributor

@Johnetordoff Johnetordoff commented Jul 20, 2022

@Johnetordoff Johnetordoff changed the base branch from develop to feature/django_upgrade July 20, 2022 12:37
@Johnetordoff Johnetordoff force-pushed the upgrade-import-paths branch 2 times, most recently from f6b20de to 610c354 Compare July 20, 2022 13:00
@Johnetordoff Johnetordoff marked this pull request as ready for review July 20, 2022 14:28
@cslzchen cslzchen force-pushed the feature/django_upgrade branch from 65b0360 to 250b832 Compare July 27, 2022 19:20
@Johnetordoff Johnetordoff mentioned this pull request Aug 4, 2022
14 tasks
@cslzchen cslzchen changed the title Upgrade Import Paths for Django 3 [Django Upgrade] [ENG-3947] Upgrade deprecated django.core.urlresolvers to django.urls Aug 10, 2022
@cslzchen cslzchen changed the title [Django Upgrade] [ENG-3947] Upgrade deprecated django.core.urlresolvers to django.urls [Django Upgrade] [ENG-3947] Update removed modules Aug 10, 2022
Copy link
Collaborator

@cslzchen cslzchen left a comment

Choose a reason for hiding this comment

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

I took another look and realized that this PR includes 4 different incompatibility fixes:

  • django.core.urlresolvers(removed in 2.0) -> django.urls

  • django.db.models.functions.base(removed in ??) -> django.db.models.functions

  • Removed private Python 2 compatibility APIs (link)

    • django.utils.six -> six
    • django.utils.functional.curry() -> functools.partial()

Thus, I updated the PR title to be more relevant to what this PR does.

@cslzchen cslzchen changed the title [Django Upgrade] [ENG-3947] Update removed modules [Django Upgrade] [ENG-3947] Update import paths and fix module deprecation Aug 11, 2022
@cslzchen cslzchen force-pushed the upgrade-import-paths branch from 75e5a09 to cd6908c Compare August 11, 2022 03:49
@cslzchen
Copy link
Collaborator

Rebased and removed all duplicate commits and will merge after checks pass.

@cslzchen cslzchen merged commit 1675f6f into CenterForOpenScience:feature/django_upgrade Aug 11, 2022
Johnetordoff pushed a commit to Johnetordoff/osf.io that referenced this pull request Aug 11, 2022
…OpenScience/osf.io into django-3

* 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io:
  Move file metadata population to unit test fixtures (CenterForOpenScience#9994)
  Update postgres backend and remove failover router for Django 3 (CenterForOpenScience#10011)
  Update import paths and fix deprecated modules for Django 3 (CenterForOpenScience#9983)
  Remove unused password change view/route (CenterForOpenScience#9985)

# Conflicts:
#	admin/common_auth/urls.py
#	api_tests/files/views/test_file_metadata_record_download.py
#	api_tests/schemas/views/test_file_metadata_schema_detail.py
#	osf/migrations/0136_add_datacite_file_metadata_schema.py
#	osf/migrations/0137_add_fm_record_to_osfstorage_files.py
#	osf/migrations/__init__.py
Johnetordoff pushed a commit to Johnetordoff/osf.io that referenced this pull request Aug 11, 2022
…OpenScience/osf.io into django-3

* 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io:
  Move file metadata population to unit test fixtures (CenterForOpenScience#9994)
  Update postgres backend and remove failover router for Django 3 (CenterForOpenScience#10011)
  Update import paths and fix deprecated modules for Django 3 (CenterForOpenScience#9983)
  Remove unused password change view/route (CenterForOpenScience#9985)

# Conflicts:
#	admin/common_auth/urls.py
#	api_tests/files/views/test_file_metadata_record_download.py
#	api_tests/schemas/views/test_file_metadata_schema_detail.py
#	osf/migrations/0136_add_datacite_file_metadata_schema.py
#	osf/migrations/0137_add_fm_record_to_osfstorage_files.py
#	osf/migrations/__init__.py
Johnetordoff pushed a commit to Johnetordoff/osf.io that referenced this pull request Aug 11, 2022
…OpenScience/osf.io into django-3

* 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io:
  Move file metadata population to unit test fixtures (CenterForOpenScience#9994)
  Update postgres backend and remove failover router for Django 3 (CenterForOpenScience#10011)
  Update import paths and fix deprecated modules for Django 3 (CenterForOpenScience#9983)
  Remove unused password change view/route (CenterForOpenScience#9985)

# Conflicts:
#	admin/common_auth/urls.py
#	api_tests/files/views/test_file_metadata_record_download.py
#	api_tests/schemas/views/test_file_metadata_schema_detail.py
#	osf/migrations/0136_add_datacite_file_metadata_schema.py
#	osf/migrations/0137_add_fm_record_to_osfstorage_files.py
#	osf/migrations/__init__.py
Johnetordoff pushed a commit to Johnetordoff/osf.io that referenced this pull request Aug 11, 2022
…OpenScience/osf.io into django-3

* 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io:
  Move file metadata population to unit test fixtures (CenterForOpenScience#9994)
  Update postgres backend and remove failover router for Django 3 (CenterForOpenScience#10011)
  Update import paths and fix deprecated modules for Django 3 (CenterForOpenScience#9983)
  Remove unused password change view/route (CenterForOpenScience#9985)

# Conflicts:
#	admin/common_auth/urls.py
#	api_tests/files/views/test_file_metadata_record_download.py
#	api_tests/schemas/views/test_file_metadata_schema_detail.py
#	osf/migrations/0136_add_datacite_file_metadata_schema.py
#	osf/migrations/0137_add_fm_record_to_osfstorage_files.py
#	osf/migrations/__init__.py
Johnetordoff pushed a commit to Johnetordoff/osf.io that referenced this pull request Aug 11, 2022
…OpenScience/osf.io into remove-django-debug-toolbar

* 'feature/django_upgrade' of https://github.com/CenterForOpenScience/osf.io:
  Remove password_reset from installed apps
  Move file metadata population to unit test fixtures (CenterForOpenScience#9994)
  Update postgres backend and remove failover router for Django 3 (CenterForOpenScience#10011)
  Update import paths and fix deprecated modules for Django 3 (CenterForOpenScience#9983)
  Remove unused password change view/route (CenterForOpenScience#9985)
cslzchen pushed a commit that referenced this pull request Sep 1, 2022
cslzchen pushed a commit that referenced this pull request Sep 22, 2022
cslzchen pushed a commit that referenced this pull request Oct 20, 2022
mfraezz pushed a commit that referenced this pull request Oct 21, 2022
PRs:
* remove post-migrate signals from migration stream (#9964)
* move createcachetable to post migrate signal (#9944)
* [ENG-3836] Investigate waffle flags (#9950)
* [ENG-3865] Create Licenses using post-migrate signal (#9961)
* [ENG-3863] Move schema ensuring and schema blocks update to post-migrate signals (#9974)
* [ENG-3868] Move blocked email domains to post-migrate signal (#9958)
* [ENG-3866] Move citation style population out of migration stream (#9966)
* [ENG-3867] Create Storage Regions on post migration signal (#9965)
* [ENG-3836] Follow-up: Add PyYAML to Requirements (#9993)
* [ENG-3862] Move post-migrate signal out of migration stream for default providers (#9971)
* Remove unused password change view/route (#9985)
* Update import paths and fix deprecated modules for Django 3 (#9983)
* Update postgres backend and remove failover router for Django 3 (#10011)
* Move file metadata population to unit test fixtures (#9994)
* [Django Upgrade] Fix one sub-query slicing issue (#10012)
* [Django Upgrade] Upgrade django-elasticsearch-metrics (#10021)
* [Django Upgrade] Replace M2M direct assignment  (#10010)
* [Django Upgrade] Upgrade markdown and mdx_del_ins (#9984)
* [Django Upgrade] Move schema activeness/visibility update to pytest fixtures (#10029)

Commits:
* Remove osf migrations
* Remove addon migrations
* Init migrations - osf
* Init migrations - addons
* Fix migration for NotableEmailDomain
* Fix circular import with built-in admin migrations
* Add a RunSQL migration to update indexes
* Upgrade django to 3.2.15 (and related dependencies)
* Make fields defined on typedmodels subclasses nullable
* Add required on_delete=CASCADE (default) to FKs missing it
* Fix django CORS whitelist settings due to origin definition update
* Add/Enable missing templates and middlewares in api settings
* Comment out admin permissions that clash with built-in "view" ones
* Add migrations for django upgrade base fixes
* Fix system check warnings for django admin
* Fix django cache table creation
* Enable django.contrib.sessions.middleware.SessionMiddleware
* Use default truthy and falsy values from upgraded DRF 3.13.1
* Use JsonField from django.db.models and django.forms
* Fix session cookie encoding/decoding by using ensure_str()
* Use prefetch instead of Django include
* Fix CORS for ORIGINS_WHITELIST
* Rename auto generated migration for django3 upgrade fixes
* Remove QuickFile check from get_serializer_class for FileDetail view
* Add registration_schema to DraftRegistrationDetailSerializer
* Add id to DraftRegistrationDetailSerializer
* Fix middleware order and replace deprecated staticfiles with static
* Fix and rework from_db_value & to_python for EncryptedJSONField
* Fix admin login failure for django upgrade
* Wrap generated keen_read_key with ensure_str
* Clear cached storage region property when creating a new version
* Do not notify in set_password() when creating a test user
* Fix RegistrationFactory for django3 upgrade
* Remove unused update_version_metadata in file node and update tests
* Remove tests for django-include
* Remove EGAP backfill command and tests
* Set DEFAULT_AUTO_FIELD to django.db.models.AutoField (default value)
* Replace deprecated NullBooleanField + add migrations
* Replace deprecated url() with re_path() for api
* Replace deprecated url() with re_path() for admin
* Fix missing or insufficient permission test for admin preprints view
* Fix admin user view tests by using HTTP response headers object
* Fix duplicate view_node permissions in node and instn view tests
* Rework refresh_from_db() to reload GFKs
* Fix visible contributor query
* Fix handle_archive_fail and its tests
* Use a different schema to fix tests failure due to django3 upgrade
* Update URLs for URL Validation tests with Django 3
* Improve to_internal_value() in NodeRelationshipField
* Add alt fixtures to prevent both siblings & parent/child conflicts
* Fix linked_by_nodes in node related counts test
* Fix bugged NullBooleanField -> BooleanField migration
* Re-make migrations for django3 upgrade and merge them into one

Co-authored-by: Longze Chen <[email protected]>
Co-authored-by: John Tordoff <[email protected]>
Co-authored-by: Jon Walz <[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.

2 participants