def METHOD_NAME(self, data: dict[str, Any], obj: model) -> None:
    for k, v in data.items():
        if hasattr(obj, to_snake_case(k)):
            value = getattr(obj, to_snake_case(k))
            if isinstance(value, datetime):
                # Datetimes must be formatted for the comparision
                self.assertEqual(
                    v,
                    str(value.isoformat()),
                    msg=f"{v=}, {str(value.isoformat())=} failed for key {k=}",
                )
            elif isinstance(value, (models.Model, factory.Factory)):
                # Foreign key or a related instance, recursively check the values.
                self.deep_assert_equal(v, value)
            elif hasattr(value, "all") and callable(value.all) and isinstance(v, list):
                # Likely a related manager, fetch the objects prior to continuing
                self.deep_assert_equal(v, value.all())
            else:
                self.assertEqual(
                    str(v),
                    str(value),
                    msg=f"{str(v)=}, {str(value)=} failed for key {k=}",
                )