): # i.e. check for 'custom_field_' prefix
field_id = int(re.search(r"\d+", field)[0])
if not CustomField.objects.filter(id=field_id).exists():
- raise serializers.ValidationError(
- f"Invalid field: {field}",
- )
+ # In case the field was deleted, just remove from the list
+ attrs["display_fields"].remove(field)
elif field not in SavedView.DisplayFields.values:
raise serializers.ValidationError(
f"Invalid field: {field}",
],
)
- # Custom field not found
+ # Custom field not found, removed from list
response = self.client.patch(
f"/api/saved_views/{v1.id}/",
{
},
format="json",
)
- self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ v1.refresh_from_db()
+ self.assertNotIn(SavedView.DisplayFields.CUSTOM_FIELD % 99, v1.display_fields)
def test_get_logs(self):
log_data = "test\ntest2\n"