code: def required(cls):
          
          columns = []
          for column in cls.__table__.columns:  # pylint: disable=no-member
              is_autoincrement = 'int' in str(column.type).lower() and column.autoincrement
              if (not column.nullable and not column.primary_key) or (column.primary_key and not is_autoincrement):
                  columns.append(column.name)
          return columns
docs: Return a list of all columns required by the database to create the
          resource.
  
          :param cls: The Model class to gather attributes from
          :rtype: list