The original code fetch the object from the queryset (which in this case doesn't contain approved commits):
```python
    def get_object(self, request, object_id):                                                                                                                                                 
        queryset = self.queryset(request)
        model = queryset.model
        try:
            object_id = model._meta.pk.to_python(object_id)
            return queryset.get(pk=object_id)
        except (model.DoesNotExist, ValidationError):
            return None
```
This allows to click on `Save and continue editing` without raising a 404, and being able to uncheck the “approve” checkbox.