diff --git a/docs/ref/checks.txt b/docs/ref/checks.txt index 65f3d95453..aedaa921db 100644 --- a/docs/ref/checks.txt +++ b/docs/ref/checks.txt @@ -30,83 +30,125 @@ Models ~~~~~~ * **models.E001**: ```` is not of the form ``app_label.app_name``. -* **models.E002**: ```` references ````, which has not been installed, or is abstract. -* **models.E003**: The model has two many-to-many relations through the intermediate model ``%s.%s``. -* **models.E004**: ``id`` can only be used as a field name if the field also sets ``primary_key=True``. -* **models.E005**: The field ```` from parent model clashes with the field ```` from parent model . -* **models.E006**: The field clashes with the field ```` from model . -* **models.E007**: Field ```` has column name ```` that is used by another field. +* **models.E002**: ```` references ````, which has not been + installed, or is abstract. +* **models.E003**: The model has two many-to-many relations through the + intermediate model ``.``. +* **models.E004**: ``id`` can only be used as a field name if the field also + sets ``primary_key=True``. +* **models.E005**: The field ```` from parent model ```` + clashes with the field ```` from parent model ````. +* **models.E006**: The field clashes with the field ```` from model + ````. +* **models.E007**: Field ```` has column name ```` + that is used by another field. * **models.E008**: ``index_together`` must be a list or tuple. * **models.E009**: All ``index_together`` elements must be lists or tuples. * **models.E010**: ``unique_together`` must be a list or tuple. * **models.E011**: All ``unique_together`` elements must be lists or tuples. -* **models.E012**: ``index_together/unique_together`` refers to the non-existent field ````. -* **models.E013**: ``index_together/unique_together`` refers to a ManyToManyField ````, but ManyToManyFields are not supported for that option. -* **models.E014**: ``ordering`` must be a tuple or list (even if you want to order by only one field). -* **models.E015**: ``ordering`` refers to the non-existent field ````. -* **models.E016**: ``index_together/unique_together`` refers to field ```` which is not local to model ````. +* **models.E012**: ``index_together/unique_together`` refers to the + non-existent field ````. +* **models.E013**: ``index_together/unique_together`` refers to a + ``ManyToManyField`` ````, but ``ManyToManyField``\s are not + supported for that option. +* **models.E014**: ``ordering`` must be a tuple or list (even if you want to + order by only one field). +* **models.E015**: ``ordering`` refers to the non-existent field + ````. +* **models.E016**: ``index_together/unique_together`` refers to field + ```` which is not local to model ````. * **models.E017**: Proxy model ```` contains model fields. Fields ~~~~~~ * **fields.E001**: Field names must not end with an underscore. -* **fields.E002**: Field names must not contain "__". -* **fields.E003**: ``pk`` is a reserved word that cannot be used as a field name. +* **fields.E002**: Field names must not contain ``"__"``. +* **fields.E003**: ``pk`` is a reserved word that cannot be used as a field + name. * **fields.E004**: ``choices`` must be an iterable (e.g., a list or tuple). -* **fields.E005**: ``choices`` must be an iterable returning (actual value, human readable name) tuples. -* **fields.E006**: ``db_index`` must be None, True or False. -* **fields.E007**: Primary keys must not have null=True. -* **fields.E100**: AutoFields must set primary_key=True. -* **fields.E110**: BooleanFields do not accept null values. -* **fields.E120**: CharFields must define a ``max_length`` attribute. +* **fields.E005**: ``choices`` must be an iterable returning ``(actual value, + human readable name)`` tuples. +* **fields.E006**: ``db_index`` must be ``None``, ``True`` or ``False``. +* **fields.E007**: Primary keys must not have ``null=True``. +* **fields.E100**: ``AutoField``\s must set primary_key=True. +* **fields.E110**: ``BooleanField``\s do not accept null values. +* **fields.E120**: ``CharField``\s must define a ``max_length`` attribute. * **fields.E121**: ``max_length`` must be a positive integer. -* **fields.E130**: DecimalFields must define a ``decimal_places`` attribute. +* **fields.E130**: ``DecimalField``\s must define a ``decimal_places`` attribute. * **fields.E131**: ``decimal_places`` must be a non-negative integer. -* **fields.E132**: DecimalFields must define a ``max_digits`` attribute. +* **fields.E132**: ``DecimalField``\s must define a ``max_digits`` attribute. * **fields.E133**: ``max_digits`` must be a non-negative integer. * **fields.E134**: ``max_digits`` must be greater or equal to ``decimal_places``. -* **fields.E140**: FilePathFields must have either ``allow_files`` or ``allow_folders`` set to True. -* **fields.E150**: GenericIPAddressFields cannot accept blank values if null values are not allowed, as blank values are stored as nulls. -* **fields.E160**: The options ``auto_now``, ``auto_now_add``, and ``default`` are mutually exclusive. Only one of these options may be present. +* **fields.E140**: ``FilePathField``\s must have either ``allow_files`` or + ``allow_folders`` set to True. +* **fields.E150**: ``GenericIPAddressField``\s cannot accept blank values if + null values are not allowed, as blank values are stored as nulls. +* **fields.E160**: The options ``auto_now``, ``auto_now_add``, and ``default`` + are mutually exclusive. Only one of these options may be present. * **fields.W161**: Fixed default value provided. File Fields ~~~~~~~~~~~ -* **fields.E200**: ``unique`` is not a valid argument for a FileField. -* **fields.E201**: ``primary_key`` is not a valid argument for a FileField. -* **fields.E210**: Cannot use ImageField because Pillow is not installed. +* **fields.E200**: ``unique`` is not a valid argument for a ``FileField``. +* **fields.E201**: ``primary_key`` is not a valid argument for a ``FileField``. +* **fields.E210**: Cannot use ``ImageField`` because Pillow is not installed. Related Fields ~~~~~~~~~~~~~~ -* **fields.E300**: Field defines a relation with model ````, which is either not installed, or is abstract. -* **fields.E301**: Field defines a relation with the model ```` which has been swapped out. -* **fields.E302**: Accessor for field ```` clashes with field ````. -* **fields.E303**: Reverse query name for field ```` clashes with field ````. -* **fields.E304**: Field name ```` clashes with accessor for ````. -* **fields.E305**: Field name ```` clashes with reverse query name for ````. -* **fields.E310**: None of the fields ````, ````, ... on model ```` have a unique=True constraint. -* **fields.E311**: ```` must set unique=True because it is referenced by a ForeignKey. -* **fields.E320**: Field specifies on_delete=SET_NULL, but cannot be null. -* **fields.E321**: The field specifies on_delete=SET_DEFAULT, but has no default value. -* **fields.E330**: ManyToManyFields cannot be unique. -* **fields.E331**: Field specifies a many-to-many relation through model ``%s``, which has not been installed. -* **fields.E332**: Many-to-many fields with intermediate tables must not be symmetrical. -* **fields.E333**: The model is used as an intermediate model by ````, but it has more than two foreign keys to ````, which is ambiguous. You must specify which two foreign keys Django should use via the through_fields keyword argument. -* **fields.E334**: The model is used as an intermediate model by ````, but it has more than one foreign key from ````, which is ambiguous. You must specify which foreign key Django should use via the through_fields keyword argument. -* **fields.E335**: The model is used as an intermediate model by ````, but it has more than one foreign key to ````, which is ambiguous. You must specify which foreign key Django should use via the through_fields keyword argument. -* **fields.E336**: The model is used as an intermediary model by ````, but it does not have foreign key to ```` or ````. -* **fields.E337**: Field specifies ``through_fields`` but does not provide the names of the two link fields that should be used for the relation through ````. -* **fields.E338**: The intermediary model ```` has no field ````. +* **fields.E300**: Field defines a relation with model ````, which is + either not installed, or is abstract. +* **fields.E301**: Field defines a relation with the model ```` which + has been swapped out. +* **fields.E302**: Accessor for field ```` clashes with field + ````. +* **fields.E303**: Reverse query name for field ```` clashes with + field ````. +* **fields.E304**: Field name ```` clashes with accessor for + ````. +* **fields.E305**: Field name ```` clashes with reverse query name + for ````. +* **fields.E310**: None of the fields ````, ````, ... on model + ```` have a ``unique=True`` constraint. +* **fields.E311**: ```` must set ``unique=True`` because it is + referenced by a ``ForeignKey``. +* **fields.E320**: Field specifies ``on_delete=SET_NULL``, but cannot be null. +* **fields.E321**: The field specifies ``on_delete=SET_DEFAULT``, but has no + default value. +* **fields.E330**: ``ManyToManyField``\s cannot be unique. +* **fields.E331**: Field specifies a many-to-many relation through model + ````, which has not been installed. +* **fields.E332**: Many-to-many fields with intermediate tables must not be + symmetrical. +* **fields.E333**: The model is used as an intermediate model by ````, + but it has more than two foreign keys to ````, which is ambiguous. + You must specify which two foreign keys Django should use via the + ``through_fields`` keyword argument. +* **fields.E334**: The model is used as an intermediate model by ````, + but it has more than one foreign key from ````, which is ambiguous. + You must specify which foreign key Django should use via the + ``through_fields`` keyword argument. +* **fields.E335**: The model is used as an intermediate model by ````, + but it has more than one foreign key to ````, which is ambiguous. + You must specify which foreign key Django should use via the + ``through_fields`` keyword argument. +* **fields.E336**: The model is used as an intermediary model by ````, + but it does not have foreign key to ```` or ````. +* **fields.E337**: Field specifies ``through_fields`` but does not provide the + names of the two link fields that should be used for the relation through + ````. +* **fields.E338**: The intermediary model ```` has no field + ````. * **fields.E339**: ``.`` is not a foreign key to ````. Signals ~~~~~~~ -* **signals.E001**: was connected to the ```` signal with a lazy reference to the ```` sender, which has not been installed. +* **signals.E001**: ```` was connected to the ```` signal with + a lazy reference to the ```` sender, which has not been installed. Backwards Compatibility ~~~~~~~~~~~~~~~~~~~~~~~ @@ -114,8 +156,8 @@ Backwards Compatibility The following checks are performed to warn the user of any potential problems that might occur as a result of a version upgrade. -* **1_6.W001**: Some project unittests may not execute as expected. -* **1_6.W002**: BooleanField does not have a default value. +* **1_6.W001**: Some project unit tests may not execute as expected. +* **1_6.W002**: ``BooleanField`` does not have a default value. Admin ----- @@ -127,8 +169,10 @@ The following checks are performed on any with the admin site: * **admin.E001**: The value of ``raw_id_fields`` must be a list or tuple. -* **admin.E002**: The value of ``raw_id_fields[n]`` refers to ````, which is not an attribute of ````. -* **admin.E003**: The value of ``raw_id_fields[n]`` must be a ForeignKey or ManyToManyField. +* **admin.E002**: The value of ``raw_id_fields[n]`` refers to ````, + which is not an attribute of ````. +* **admin.E003**: The value of ``raw_id_fields[n]`` must be a ``ForeignKey`` or + ``ManyToManyField``. * **admin.E004**: The value of ``fields`` must be a list or tuple. * **admin.E005**: Both ``fieldsets`` and ``fields`` are specified. * **admin.E006**: The value of ``fields`` contains duplicate field(s). @@ -136,31 +180,48 @@ with the admin site: * **admin.E008**: The value of ``fieldsets[n]`` must be a list or tuple. * **admin.E009**: The value of ``fieldsets[n]`` must be of length 2. * **admin.E010**: The value of ``fieldsets[n][1]`` must be a dictionary. -* **admin.E011**: The value of ``fieldsets[n][1]`` must contain the key ``fields``. -* **admin.E012**: There are duplicate field(s) in ``fieldsets[n][1]`` -* **admin.E013**: ``fields[n]/fieldsets[n][m]`` cannot include the ManyToManyField ````, because that field manually specifies a relationship model. +* **admin.E011**: The value of ``fieldsets[n][1]`` must contain the key + ``fields``. +* **admin.E012**: There are duplicate field(s) in ``fieldsets[n][1]``. +* **admin.E013**: ``fields[n]/fieldsets[n][m]`` cannot include the + ``ManyToManyField`` ````, because that field manually specifies a + relationship model. * **admin.E014**: The value of ``exclude`` must be a list or tuple. * **admin.E015**: The value of ``exclude`` contains duplicate field(s). * **admin.E016**: The value of ``form`` must inherit from ``BaseModelForm``. * **admin.E017**: The value of ``filter_vertical`` must be a list or tuple. * **admin.E018**: The value of ``filter_horizontal`` must be a list or tuple. -* **admin.E019**: The value of ``filter_vertical[n]/filter_vertical[n]`` refers to ````, which is not an attribute of ````. -* **admin.E020**: The value of ``filter_vertical[n]/filter_vertical[n]`` must be a ManyToManyField. +* **admin.E019**: The value of ``filter_vertical[n]/filter_vertical[n]`` refers + to ````, which is not an attribute of ````. +* **admin.E020**: The value of ``filter_vertical[n]/filter_vertical[n]`` must + be a ``ManyToManyField``. * **admin.E021**: The value of ``radio_fields`` must be a dictionary. -* **admin.E022**: The value of ``radio_fields`` refers to ````, which is not an attribute of ````. -* **admin.E023**: The value of ``radio_fields`` refers to ````, which is not a ForeignKey, and does not have a ``choices`` definition. -* **admin.E024**: The value of ``radio_fields[]`` must be either admin.HORIZONTAL nor admin.VERTICAL. -* **admin.E025**: The value of ``view_on_site`` must be either a callable or a boolean value. +* **admin.E022**: The value of ``radio_fields`` refers to ````, + which is not an attribute of ````. +* **admin.E023**: The value of ``radio_fields`` refers to ````, + which is not a ``ForeignKey``, and does not have a ``choices`` definition. +* **admin.E024**: The value of ``radio_fields[]`` must be either + ``admin.HORIZONTAL`` nor ``admin.VERTICAL``. +* **admin.E025**: The value of ``view_on_site`` must be either a callable or a + boolean value. * **admin.E026**: The value of ``prepopulated_fields`` must be a dictionary. -* **admin.E027**: The value of ``prepopulated_fields`` refers to ````, which is not an attribute of ````. -* **admin.E028**: The value of ``prepopulated_fields`` refers to ````, which must not be a DateTimeField, ForeignKey or ManyToManyField. -* **admin.E029**: The value of ``prepopulated_fields[]`` must be a list or tuple. -* **admin.E030**: The value of ``prepopulated_fields`` refers to ````, which is not an attribute of ````. +* **admin.E027**: The value of ``prepopulated_fields`` refers to + ````, which is not an attribute of ````. +* **admin.E028**: The value of ``prepopulated_fields`` refers to + ````, which must not be a ``DateTimeField``, ``ForeignKey`` or + ``ManyToManyField``. +* **admin.E029**: The value of ``prepopulated_fields[]`` must be a + list or tuple. +* **admin.E030**: The value of ``prepopulated_fields`` refers to + ````, which is not an attribute of ````. * **admin.E031**: The value of ``ordering`` must be a list or tuple. -* **admin.E032**: The value of ``ordering`` has the random ordering marker ``?``, but contains other fields as well. -* **admin.E033**: The value of ``ordering`` refers to ````, which is not an attribute of ````. +* **admin.E032**: The value of ``ordering`` has the random ordering marker + ``?``, but contains other fields as well. +* **admin.E033**: The value of ``ordering`` refers to ````, which + is not an attribute of ````. * **admin.E034**: The value of ``readonly_fields`` must be a list or tuple. -* **admin.E035**: The value of ``readonly_fields[n]`` is not a callable, an attribute of ````, or an attribute of ````. +* **admin.E035**: The value of ``readonly_fields[n]`` is not a callable, an + attribute of ````, or an attribute of ````. ModelAdmin ~~~~~~~~~~ @@ -172,31 +233,51 @@ with the admin site: * **admin.E101**: The value of ``save_as`` must be a boolean. * **admin.E102**: The value of ``save_on_top`` must be a boolean. * **admin.E103**: The value of ``inlines`` must be a list or tuple. -* **admin.E104**: ```` must inherit from ``BaseModelAdmin``. +* **admin.E104**: ```` must inherit from + ``BaseModelAdmin``. * **admin.E105**: ```` must have a ``model`` attribute. -* **admin.E106**: The value of ``.model`` must be a Model. +* **admin.E106**: The value of ``.model`` must be a + ``Model``. * **admin.E107**: The value of ``list_display`` must be a list or tuple. -* **admin.E108**: The value of ``list_display[n]`` refers to ``