# Stubs for django.db.models.options (Python 3.5)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Tuple, List, Union
from django.db.models.fields import Field

PROXY_PARENTS = ...  # type: Any
EMPTY_RELATION_TREE = ...  # type: Any
IMMUTABLE_WARNING = ...  # type: Any
DEFAULT_NAMES = ...  # type: Any

class raise_deprecation:
    suggested_alternative = ...  # type: Any
    def __init__(self, suggested_alternative): ...
    def __call__(self, fn): ...

def normalize_together(option_together): ...
def make_immutable_fields_list(name, data): ...

class Options:
    FORWARD_PROPERTIES = ...  # type: Tuple[str, ...]
    REVERSE_PROPERTIES = ...  # type: Tuple[str, ...]
    proxied_children = ...  # type: Any
    local_fields = ...  # type: List[Field]
    local_many_to_many = ...  # type: Any
    virtual_fields = ...  # type: Any
    model_name = ...  # type: str
    verbose_name = ...  # type: str
    verbose_name_plural = ...  # type: str
    db_table = ...  # type: str
    ordering = ...  # type: Tuple[str, ...]
    unique_together = ...  # type: Union[Tuple[str, ...], Tuple[Tuple[str, ...], ...]]
    index_together = ...  # type: Union[Tuple[str, ...], Tuple[Tuple[str, ...], ...]]
    select_on_save = ...  # type: Any
    default_permissions = ...  # type: Tuple[str, ...]
    permissions = ...  # type: List[str]
    object_name = ...  # type: str
    app_label = ...  # type: str
    get_latest_by = ...  # type: Any
    order_with_respect_to = ...  # type: Any
    db_tablespace = ...  # type: Any
    pk = ...  # type: Any
    has_auto_field = ...  # type: Any
    auto_field = ...  # type: Any
    abstract = ...  # type: Any
    managed = ...  # type: Any
    proxy = ...  # type: Any
    proxy_for_model = ...  # type: Any
    concrete_model = ...  # type: Any
    swappable = ...  # type: Any
    parents = ...  # type: Any
    auto_created = ...  # type: Any
    managers = ...  # type: Any
    related_fkey_lookups = ...  # type: Any
    apps = ...  # type: Any
    default_related_name = ...  # type: Any
    def __init__(self, meta, app_label=None): ...
    @property
    def app_config(self): ...
    @property
    def installed(self): ...
    @property
    def abstract_managers(self): ...
    @property
    def concrete_managers(self): ...
    model = ...  # type: Any
    original_attrs = ...  # type: Any
    def contribute_to_class(self, cls, name): ...
    def add_field(self, field, virtual=False): ...
    def setup_pk(self, field): ...
    def setup_proxy(self, target): ...
    @property
    def verbose_name_raw(self): ...
    @property
    def swapped(self): ...
    def fields(self): ...
    def concrete_fields(self): ...
    def local_concrete_fields(self): ...
    def get_fields_with_model(self): ...
    def get_concrete_fields_with_model(self): ...
    def many_to_many(self): ...
    def related_objects(self): ...
    def get_m2m_with_model(self): ...
    def fields_map(self): ...
    def get_field(self, field_name, many_to_many=None): ...
    def get_field_by_name(self, name): ...
    def get_all_field_names(self): ...
    def get_all_related_objects(self, local_only=False, include_hidden=False, include_proxy_eq=False): ...
    def get_all_related_objects_with_model(self, local_only=False, include_hidden=False, include_proxy_eq=False): ...
    def get_all_related_many_to_many_objects(self, local_only=False): ...
    def get_all_related_m2m_objects_with_model(self): ...
    def get_base_chain(self, model): ...
    def get_parent_list(self): ...
    def get_ancestor_link(self, ancestor): ...
    def get_fields(self, include_parents=True, include_hidden=False): ...

4b616f5a9d35e65c01a22716fb4bd31adc8b086e
<mask token>


class Options:
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    @property
    def app_config(self):
        ...

    @property
    def installed(self):
        ...

    @property
    def abstract_managers(self):
        ...
    <mask token>
    <mask token>
    <mask token>

    def contribute_to_class(self, cls, name):
        ...

    def add_field(self, field, virtual=False):
        ...
    <mask token>

    def setup_proxy(self, target):
        ...

    @property
    def verbose_name_raw(self):
        ...
    <mask token>

    def fields(self):
        ...

    def concrete_fields(self):
        ...

    def local_concrete_fields(self):
        ...

    def get_fields_with_model(self):
        ...

    def get_concrete_fields_with_model(self):
        ...

    def many_to_many(self):
        ...
    <mask token>

    def get_m2m_with_model(self):
        ...

    def fields_map(self):
        ...

    def get_field(self, field_name, many_to_many=None):
        ...
    <mask token>

    def get_all_field_names(self):
        ...

    def get_all_related_objects(self, local_only=False, include_hidden=
        False, include_proxy_eq=False):
        ...

    def get_all_related_objects_with_model(self, local_only=False,
        include_hidden=False, include_proxy_eq=False):
        ...

    def get_all_related_many_to_many_objects(self, local_only=False):
        ...
    <mask token>

    def get_base_chain(self, model):
        ...
    <mask token>

    def get_ancestor_link(self, ancestor):
        ...

    def get_fields(self, include_parents=True, include_hidden=False):
        ...

<mask token>


class Options:
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    @property
    def app_config(self):
        ...

    @property
    def installed(self):
        ...

    @property
    def abstract_managers(self):
        ...
    <mask token>
    <mask token>
    <mask token>

    def contribute_to_class(self, cls, name):
        ...

    def add_field(self, field, virtual=False):
        ...
    <mask token>

    def setup_proxy(self, target):
        ...

    @property
    def verbose_name_raw(self):
        ...

    @property
    def swapped(self):
        ...

    def fields(self):
        ...

    def concrete_fields(self):
        ...

    def local_concrete_fields(self):
        ...

    def get_fields_with_model(self):
        ...

    def get_concrete_fields_with_model(self):
        ...

    def many_to_many(self):
        ...
    <mask token>

    def get_m2m_with_model(self):
        ...

    def fields_map(self):
        ...

    def get_field(self, field_name, many_to_many=None):
        ...
    <mask token>

    def get_all_field_names(self):
        ...

    def get_all_related_objects(self, local_only=False, include_hidden=
        False, include_proxy_eq=False):
        ...

    def get_all_related_objects_with_model(self, local_only=False,
        include_hidden=False, include_proxy_eq=False):
        ...

    def get_all_related_many_to_many_objects(self, local_only=False):
        ...
    <mask token>

    def get_base_chain(self, model):
        ...

    def get_parent_list(self):
        ...

    def get_ancestor_link(self, ancestor):
        ...

    def get_fields(self, include_parents=True, include_hidden=False):
        ...

<mask token>


class Options:
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    @property
    def app_config(self):
        ...

    @property
    def installed(self):
        ...

    @property
    def abstract_managers(self):
        ...

    @property
    def concrete_managers(self):
        ...
    <mask token>
    <mask token>

    def contribute_to_class(self, cls, name):
        ...

    def add_field(self, field, virtual=False):
        ...

    def setup_pk(self, field):
        ...

    def setup_proxy(self, target):
        ...

    @property
    def verbose_name_raw(self):
        ...

    @property
    def swapped(self):
        ...

    def fields(self):
        ...

    def concrete_fields(self):
        ...

    def local_concrete_fields(self):
        ...

    def get_fields_with_model(self):
        ...

    def get_concrete_fields_with_model(self):
        ...

    def many_to_many(self):
        ...

    def related_objects(self):
        ...

    def get_m2m_with_model(self):
        ...

    def fields_map(self):
        ...

    def get_field(self, field_name, many_to_many=None):
        ...

    def get_field_by_name(self, name):
        ...

    def get_all_field_names(self):
        ...

    def get_all_related_objects(self, local_only=False, include_hidden=
        False, include_proxy_eq=False):
        ...

    def get_all_related_objects_with_model(self, local_only=False,
        include_hidden=False, include_proxy_eq=False):
        ...

    def get_all_related_many_to_many_objects(self, local_only=False):
        ...

    def get_all_related_m2m_objects_with_model(self):
        ...

    def get_base_chain(self, model):
        ...

    def get_parent_list(self):
        ...

    def get_ancestor_link(self, ancestor):
        ...

    def get_fields(self, include_parents=True, include_hidden=False):
        ...

<mask token>


class raise_deprecation:
    suggested_alternative = ...

    def __init__(self, suggested_alternative):
        ...

    def __call__(self, fn):
        ...


<mask token>


def make_immutable_fields_list(name, data):
    ...


class Options:
    FORWARD_PROPERTIES = ...
    REVERSE_PROPERTIES = ...
    proxied_children = ...
    local_fields = ...
    local_many_to_many = ...
    virtual_fields = ...
    model_name = ...
    verbose_name = ...
    verbose_name_plural = ...
    db_table = ...
    ordering = ...
    unique_together = ...
    index_together = ...
    select_on_save = ...
    default_permissions = ...
    permissions = ...
    object_name = ...
    app_label = ...
    get_latest_by = ...
    order_with_respect_to = ...
    db_tablespace = ...
    pk = ...
    has_auto_field = ...
    auto_field = ...
    abstract = ...
    managed = ...
    proxy = ...
    proxy_for_model = ...
    concrete_model = ...
    swappable = ...
    parents = ...
    auto_created = ...
    managers = ...
    related_fkey_lookups = ...
    apps = ...
    default_related_name = ...

    def __init__(self, meta, app_label=None):
        ...

    @property
    def app_config(self):
        ...

    @property
    def installed(self):
        ...

    @property
    def abstract_managers(self):
        ...

    @property
    def concrete_managers(self):
        ...
    model = ...
    original_attrs = ...

    def contribute_to_class(self, cls, name):
        ...

    def add_field(self, field, virtual=False):
        ...

    def setup_pk(self, field):
        ...

    def setup_proxy(self, target):
        ...

    @property
    def verbose_name_raw(self):
        ...

    @property
    def swapped(self):
        ...

    def fields(self):
        ...

    def concrete_fields(self):
        ...

    def local_concrete_fields(self):
        ...

    def get_fields_with_model(self):
        ...

    def get_concrete_fields_with_model(self):
        ...

    def many_to_many(self):
        ...

    def related_objects(self):
        ...

    def get_m2m_with_model(self):
        ...

    def fields_map(self):
        ...

    def get_field(self, field_name, many_to_many=None):
        ...

    def get_field_by_name(self, name):
        ...

    def get_all_field_names(self):
        ...

    def get_all_related_objects(self, local_only=False, include_hidden=
        False, include_proxy_eq=False):
        ...

    def get_all_related_objects_with_model(self, local_only=False,
        include_hidden=False, include_proxy_eq=False):
        ...

    def get_all_related_many_to_many_objects(self, local_only=False):
        ...

    def get_all_related_m2m_objects_with_model(self):
        ...

    def get_base_chain(self, model):
        ...

    def get_parent_list(self):
        ...

    def get_ancestor_link(self, ancestor):
        ...

    def get_fields(self, include_parents=True, include_hidden=False):
        ...

# Stubs for django.db.models.options (Python 3.5)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Tuple, List, Union
from django.db.models.fields import Field

PROXY_PARENTS = ...  # type: Any
EMPTY_RELATION_TREE = ...  # type: Any
IMMUTABLE_WARNING = ...  # type: Any
DEFAULT_NAMES = ...  # type: Any

class raise_deprecation:
    suggested_alternative = ...  # type: Any
    def __init__(self, suggested_alternative): ...
    def __call__(self, fn): ...

def normalize_together(option_together): ...
def make_immutable_fields_list(name, data): ...

class Options:
    FORWARD_PROPERTIES = ...  # type: Tuple[str, ...]
    REVERSE_PROPERTIES = ...  # type: Tuple[str, ...]
    proxied_children = ...  # type: Any
    local_fields = ...  # type: List[Field]
    local_many_to_many = ...  # type: Any
    virtual_fields = ...  # type: Any
    model_name = ...  # type: str
    verbose_name = ...  # type: str
    verbose_name_plural = ...  # type: str
    db_table = ...  # type: str
    ordering = ...  # type: Tuple[str, ...]
    unique_together = ...  # type: Union[Tuple[str, ...], Tuple[Tuple[str, ...], ...]]
    index_together = ...  # type: Union[Tuple[str, ...], Tuple[Tuple[str, ...], ...]]
    select_on_save = ...  # type: Any
    default_permissions = ...  # type: Tuple[str, ...]
    permissions = ...  # type: List[str]
    object_name = ...  # type: str
    app_label = ...  # type: str
    get_latest_by = ...  # type: Any
    order_with_respect_to = ...  # type: Any
    db_tablespace = ...  # type: Any
    pk = ...  # type: Any
    has_auto_field = ...  # type: Any
    auto_field = ...  # type: Any
    abstract = ...  # type: Any
    managed = ...  # type: Any
    proxy = ...  # type: Any
    proxy_for_model = ...  # type: Any
    concrete_model = ...  # type: Any
    swappable = ...  # type: Any
    parents = ...  # type: Any
    auto_created = ...  # type: Any
    managers = ...  # type: Any
    related_fkey_lookups = ...  # type: Any
    apps = ...  # type: Any
    default_related_name = ...  # type: Any
    def __init__(self, meta, app_label=None): ...
    @property
    def app_config(self): ...
    @property
    def installed(self): ...
    @property
    def abstract_managers(self): ...
    @property
    def concrete_managers(self): ...
    model = ...  # type: Any
    original_attrs = ...  # type: Any
    def contribute_to_class(self, cls, name): ...
    def add_field(self, field, virtual=False): ...
    def setup_pk(self, field): ...
    def setup_proxy(self, target): ...
    @property
    def verbose_name_raw(self): ...
    @property
    def swapped(self): ...
    def fields(self): ...
    def concrete_fields(self): ...
    def local_concrete_fields(self): ...
    def get_fields_with_model(self): ...
    def get_concrete_fields_with_model(self): ...
    def many_to_many(self): ...
    def related_objects(self): ...
    def get_m2m_with_model(self): ...
    def fields_map(self): ...
    def get_field(self, field_name, many_to_many=None): ...
    def get_field_by_name(self, name): ...
    def get_all_field_names(self): ...
    def get_all_related_objects(self, local_only=False, include_hidden=False, include_proxy_eq=False): ...
    def get_all_related_objects_with_model(self, local_only=False, include_hidden=False, include_proxy_eq=False): ...
    def get_all_related_many_to_many_objects(self, local_only=False): ...
    def get_all_related_m2m_objects_with_model(self): ...
    def get_base_chain(self, model): ...
    def get_parent_list(self): ...
    def get_ancestor_link(self, ancestor): ...
    def get_fields(self, include_parents=True, include_hidden=False): ...
