username = ''
email = None
phone = None
if username == email == phone == None:
raise ValueError('At least one login field should be not None')
if not any([username, email, phone]):
raise ValueError('At least one login field should be not None')
Ну а там гуглить - к примеру UML-диаграммы.