def atoms(cls, instance_or_dict):
 field_getter = serializable_getter = instance_or_dict.get
 try:
  field_getter = instance_or_dict._data.get
 except AttributeError:
  pass
 sequences = ((cls._field_list, field_getter), (cls._serializables.items(), serializable_getter))
 for (sequence, get) in sequences:
  for (field_name, field) in sequence:
   (yield (field_name, field, get(field_name, Undefined)))

def atoms ( cls , instance_or_dict ) : field_getter = serializable_getter = instance_or_dict . get try : field_getter = instance_or_dict . _data . get except AttributeError : pass sequences = ( ( cls . _field_list , field_getter ) , ( cls . _serializables . items ( ) , serializable_getter ) ) for ( sequence , get ) in sequences : for ( field_name , field ) in sequence : ( yield ( field_name , field , get ( field_name , Undefined ) ) )
iterator for the atomic components of a model definition and relevant data that creates a 3-tuple of the fields name .