(self, serializer: BaseSerializer[Experiment])
| 306 | ) |
| 307 | |
| 308 | def perform_update(self, serializer: BaseSerializer[Experiment]) -> None: |
| 309 | changed_fields = { |
| 310 | field |
| 311 | for field, value in serializer.validated_data.items() |
| 312 | if getattr(serializer.instance, field, None) != value |
| 313 | } |
| 314 | if not changed_fields: |
| 315 | return |
| 316 | experiment: Experiment = serializer.save() |
| 317 | create_experiment_audit_log( |
| 318 | experiment, self._get_user(self.request), action="updated" |
| 319 | ) |
| 320 | |
| 321 | def perform_destroy(self, instance: Experiment) -> None: |
| 322 | if instance.status == ExperimentStatus.RUNNING: |
nothing calls this directly
no test coverage detected