OpenSlides / OpenSlides/openslides-backend

[RelDB] Remove back relations from code

Open
#3,318 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
9
Forks
40
Avg merge
1d 22h
Merged PRs (30d)
19

Description

At some point we should eliminate the back relations from the backend code.
Some tasks that are part of that:

  • Form everything the checker.py Checker class does into database constraints and the like (perhaps, in some cases move the checks into the field validate method), then delete the checker.
  • export_helper.py: replace get_fields_for_export with Model.get_writable_fields() in export_meeting and its helper methods, then remove get_fields_for_export. For now the checker stops this from happening.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading checker.py and the Checker class to understand which checks might become database constraints or field validation. Then inspect export_helper.py, especially get_fields_for_export, export_meeting, and its helper methods, alongside Model.get_writable_fields(). Done means the checker and obsolete export helper are removed after both task areas are replaced.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.