diff --git a/apps/worker/tasks/sync_teams.py b/apps/worker/tasks/sync_teams.py index 52dde6c5c..e256e7aa7 100644 --- a/apps/worker/tasks/sync_teams.py +++ b/apps/worker/tasks/sync_teams.py @@ -81,13 +81,21 @@ def upsert_team(self, db_session, service, service_id, data): ) if team: - team.username = data["username"] - team.name = data["name"] - team.email = data.get("email") - team.avatar_url = data.get("avatar_url") - team.parent_service_id = data.get("parent_service_id") - team.updatestamp = datetime.now() - db_session.flush() + fields = { + "username": data["username"], + "name": data["name"], + "email": data.get("email"), + "avatar_url": data.get("avatar_url"), + "parent_service_id": data.get("parent_service_id"), + } + changed = False + for attr, new_val in fields.items(): + if getattr(team, attr) != new_val: + setattr(team, attr, new_val) + changed = True + if changed: + team.updatestamp = datetime.now() + db_session.flush() else: team = Owner( service=service,