def METHOD_NAME(cls, data):
    is_update = False
    previous_project = cls.get(data["id"])
    data.pop("team", None)
    data.pop("type", None)
    data.pop("project_status_name", None)
    person_ids = data.pop("team", None)
    task_type_ids = data.pop("task_types", None)
    task_status_ids = data.pop("task_statuses", None)
    asset_type_ids = data.pop("asset_types", None)
    status_automation_ids = data.pop("status_automations", None)
    if previous_project is None:
        previous_project = cls.create(**data)
        previous_project.save()
    else:
        is_update = True
        previous_project.update(data)
        previous_project.save()
    if person_ids is not None:
        previous_project.set_team(person_ids)
    if task_type_ids is not None:
        previous_project.set_task_types(task_type_ids)
    if task_status_ids is not None:
        previous_project.set_task_statuses(task_status_ids)
    if asset_type_ids is not None:
        previous_project.set_asset_types(asset_type_ids)
    if status_automation_ids is not None:
        previous_project.set_status_automations(status_automation_ids)
    return (previous_project, is_update)