Return Home

[GSoC 2021] Adapt Schema Editors to operate from model states instead of fake rendered models

Planning

I will complete the following checklist during the first milestone

  1. Creating the proxy for all Operation subclasses' state_forwards and state_backwards methods in ProjectState.
  2. Initialization of the Central Registry in ProjectState(like ProjectState.add_field() etc.).
  3. Code the logic to populate the registry with ProjectState.add_model() and newly introduced ProjectState.add_field().
  4. Fixing and Writing tests along with Documentaion.(if required)


Creating the proxy for all Operation subclasses' state_forwards and state_backwards methods in ProjectState.

Added Proxy for all Operations' state_forwards in ProjectState. Created the following function in ProjectState for their respective operations' state_forwards.

Tested all the changes and there were no broken tests.


Initialization of the Central Registry in ProjectState(like ProjectState.add_field() etc.).

Initialized the central repository in the ProjectState class constructor using the following line of code.
self.related_fields = related_fields or {} Also decided how to populate the registry and asked a question for a problem on Django Forum.(here)


Code the logic to populate the registry with ProjectState.add_model() and newly introduced ProjectState.add_field().(PR-14436)

Added the Following changes and made a commit

Added the Following changes and made a commit

Added the Following changes and made a commit