def get_model_list_diff(source_list, target_list):
    """
    Args:
        source_list (list): List of models to compare.
        target_list (list): List of models for which we want a diff.

    Returns:
        tuple: Two lists, one containing the missing models in the target list
        and one containing the models that should not be in the target list.
    """
    missing = []
    source_ids = {m["id"]: True for m in source_list}
    target_ids = {m["id"]: True for m in target_list}
    for model in source_list:
        if model["id"] not in target_ids:
            missing.append(model)
    unexpected = [model for model in target_list if model["id"] not in source_ids]
    return (missing, unexpected)