## Updated Moderation Workflow with django-pghistory ### Submission Lifecycle 1. **Change Proposal** - Creates `pending` pghistory event with metadata: ```python pghistory.track( pghistory.Snapshot('submission.pending'), status='pending' ) ``` 2. **Approval Process** - Merges event into main history: ```python event.pgh_label = 'approved_change' event.pgh_context['approver'] = request.user ``` 3. **Rejection Handling** - Preserves event with rejection context: ```python event.pgh_label = 'rejected_change' event.pgh_context['reason'] = rejection_reason ``` ### Moderation Admin Integration ```python # moderation/admin.py @admin.register(pghistory.models.Event) class HistoryAdmin(admin.ModelAdmin): list_display = ('pgh_label', 'pgh_created_at', 'content_object') readonly_fields = ('pgh_data', 'pgh_context')