sqlalchemy.sqinspect.primary_key

Here are the examples of the python api sqlalchemy.sqinspect.primary_key taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

1 Examples 7

Example 1

Project: tornado-restless Source File: handler.py
Function: initialize
    def initialize(self,
                   model,
                   manager,
                   methods: set,
                   preprocessor: dict,
                   postprocessor: dict,
                   allow_patch_many: bool,
                   allow_method_override: bool,
                   validation_exceptions,
                   exclude_queries: bool,
                   exclude_hybrids: bool,
                   include_columns: list,
                   exclude_columns: list,
                   results_per_page: int,
                   max_results_per_page: int):
        """

        Init of the handler, derives arguments from api create_api_blueprint

        :param model: The sqlalchemy model
        :param manager: The tornado_restless Api Manager
        :param methods: Allowed methods for this model
        :param preprocessor: A dictionary of preprocessor functions
        :param postprocessor: A dictionary of postprocessor functions
        :param allow_patch_many: Allow PATCH with multiple datasets
        :param allow_method_override: Support X-HTTP-Method-Override Header
        :param validation_exceptions:
        :param exclude_queries: Don't execude dynamic queries (like from associations or lazy relations)
        :param exclude_hybrids: When exclude_queries is True and exclude_hybrids is False, hybrids are still included.
        :param include_columns: Whitelist of columns to be included
        :param exclude_columns: Blacklist of columns to be excluded
        :param results_per_page: The default value of how many results are returned per request
        :param max_results_per_page: The hard upper limit of resutest per page

        :reqheader X-HTTP-Method-Override: If allow_method_override is True, this header overwrites the request method
        """

        # Override Method if Header provided
        if allow_method_override and 'X-HTTP-Method-Override' in self.request.headers:
            self.request.method = self.request.headers['X-HTTP-Method-Override']

        super(BaseHandler, self).initialize()

        self.model = SessionedModelWrapper(model, manager.session_maker())
        self.pk_length = len(sqinspect(model).primary_key)
        self.methods = [method.lower() for method in methods]
        self.allow_patch_many = allow_patch_many
        self.validation_exceptions = validation_exceptions

        self.preprocessor = preprocessor
        self.postprocessor = postprocessor

        self.results_per_page = results_per_page
        self.max_results_per_page = max_results_per_page

        self.include = self.parse_columns(include_columns)
        self.exclude = self.parse_columns(exclude_columns)

        self.to_dict_options = {'execute_queries': not exclude_queries, 'execute_hybrids': not exclude_hybrids}