code: def create_missing(self):
          
          for field_name, field in self.get_fields().items():
              if field.required and not hasattr(self, field_name):
                  # Most `gen_value` methods return a value such as an integer,
                  # string or dictionary, but OneTo{One,Many}Field.gen_value
                  # returns the referenced class.
                  if hasattr(field, 'default'):
                      value = field.default
                  elif hasattr(field, 'choices'):
                      value = gen_choice(field.choices)
                  elif isinstance(field, OneToOneField):
                      value = field.gen_value()(self._server_config).create(True)
                  elif isinstance(field, OneToManyField):
                      value = [
                          field.gen_value()(self._server_config).create(True)
                      ]
                  else:
                      value = field.gen_value()
                  setattr(self, field_name, value)
docs: Automagically populate all required instance attributes.
  
          Iterate through the set of all required class
          :class:`nailgun.entity_fields.Field` defined on ``type(self)`` and
          create a corresponding instance attribute if none exists. Subclasses
          should override this method if there is some relationship between two
          required fields.
  
          :return: Nothing. This method relies on side-effects.