Welcome to “Django Edit Suggestion” documentation!

About

A django package for enabling django resources to be edited by users other than admin or resource author. The resource (an instance of a django model saved to database) will have a list of “edit suggestions” created by other users. The “edit suggestions” can be published, which will update the resource, or can be rejected. Users that pass a condition can publish or reject edit suggestions.

Todo

14/02/2021 Tests for file field, signals and copying parent model attributes

Changes

1.40
  1. fix m2m field str type

1.39
  1. m2m fields work with specifying to relation by string (django style)

1.38
  1. add support for foreign fields of type other than ForeignField

1.37
  1. add support for file field. field is copied entirely

  2. add support for signals

  3. add support for copying parent model attributes

1.36
  1. edit suggestions viewset uses parent run_validation method to get new suggestion data

1.35
  1. bugfix tracking foreign field changes

1.34
  1. add fix to handling foreign key fields on ModelViewsetWithEditSuggestion method edit_suggestion_perform_create

1.33
  1. edit suggestion publish: fix m2m through copying of instance children to parent

1.32
  1. rest_views: publish/reject edit suggestion: add success messages

1.31
  1. rest_views: use edit suggestion listing serializer when retrieving the list of edit suggestions

1.30
  1. add m2m through support in rest views and refactor the create edit suggestion

1.29
  1. add m2m through support

1.28
  1. edit_suggestions REST view returns paginated results. Can be filtered by status ex: api/resources/88/edit_suggestions/?status=0

1.27
  1. Add post_publish/post_reject hooks

1.26
  1. REST viewset edit-suggestion-create returns serialized instance of edit suggestion

1.25
  1. add edit_suggestion_publish and edit_suggestion_reject to ModelViewsetWithEditSuggestion viewset

  2. create tests for them

1.24
  1. add m2m support to diff_against_parent

1.23
  1. change status to Production/Stable

  2. add django_rest support with adding EditSuggestionSerializer and ModelViewsetWithEditSuggestion