DataTalksClub / DataTalksClub/website
D3.1 Extension models and user model rename
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Mirrors issue D3.1 Extension models and user model rename from the DataTalksClub/community-base unification plan (docs/plan/phase-3.md). Depends on: C5.2a (done). Implements playbook P7 (swap a site to the shared user model), DTC part, steps 1 to 3.
Goal
Move site-only user fields into extension models and rename the user model so the DTC accounts schema matches the shared community_base.accounts field table, preparing the accounts adoption (D3.2) and the C3.7 identity donor compatibility checkpoint.
Steps (from the plan)
courses.LearnerProfilewith the course-platform fields;accounts_ext.IdentityStatewith the identity reconciliation fields and theAccountIdentityAlias,AccountIdentityQuarantine,AccountReconciliationRun,CmpLearnerImportProgressmodels; data migrations; readers rewritten.RenameModel("CustomUser", "User")andAlterModelTable("accounts_user").- Field reconciliation to the
C3.1field table (add missing AISL-origin fields with defaults).
Verification (from the plan)
uv run pytest -q-> pass- development login works after deploy
- row counts equal before and after (playbook
P14)
Non-goals
- Adopting the shared
community_base.accountsapp (that isD3.2, afterC5.3andC3.7). - The
django_migrationscleanup, squashed-migration fake, andAUTH_USER_MODELflip described inP7steps 4 and 5.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with docs/plan/phase-3.md and the existing courses.LearnerProfile and accounts_ext.IdentityState models, then trace the named identity and reconciliation models and their readers. Run uv run pytest -q during the migration work. Done means the tests pass, development login works after deployment, and row counts match before and after.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, python
- Domain
- authentication, backend, database
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100