class documentation

Base class that all relational fields inherit from.

Method __init__ Undocumented
Method check Undocumented
Method contribute_to_class Register the field with the model class it belongs to.
Method db_type Return the database column data type for this field, for the provided connection.
Method deconstruct Return enough information to recreate the field as a 4-tuple:
Method do_related_class Undocumented
Method formfield Pass ``limit_choices_to`` to the field being constructed.
Method get_cache_name Undocumented
Method get_forward_related_filter Return the keyword arguments that when supplied to self.model.object.filter(), would select all instances related through this field to the remote obj. This is used to build the querysets returned by related descriptors...
Method get_limit_choices_to Return ``limit_choices_to`` for this model field.
Method get_reverse_related_filter Complement to get_forward_related_filter(). Return the keyword arguments that when passed to self.related_field.model.object.filter() select all instances of self.related_field.model related through this field to obj...
Method related_query_name Define the name that can be used to identify this related object in a table-spanning query.
Method set_attributes_from_rel Undocumented
Class Variable many_to_many Undocumented
Class Variable many_to_one Undocumented
Class Variable one_to_many Undocumented
Class Variable one_to_one Undocumented
Instance Variable name Undocumented
Instance Variable opts Undocumented
Instance Variable verbose_name Undocumented
Property related_model Undocumented
Property swappable_setting Get the setting that this is powered from for swapping, or None if it's not swapped in / marked with swappable=False.
Property target_field When filtering against this relation, return the field on the remote model against which the filtering should happen.
Method _check_clashes Check accessor and reverse query name clashes.
Method _check_referencing_to_swapped_model Undocumented
Method _check_related_name_is_valid Undocumented
Method _check_related_query_name_is_valid Undocumented
Method _check_relation_model_exists Undocumented
Instance Variable _limit_choices_to Undocumented
Instance Variable _related_name Undocumented
Instance Variable _related_query_name Undocumented

Inherited from FieldCacheMixin:

Method delete_cached_value Undocumented
Method get_cached_value Undocumented
Method is_cached Undocumented
Method set_cached_value Undocumented

Inherited from Field (via FieldCacheMixin):

Method __copy__ Undocumented
Method __deepcopy__ Undocumented
Method __eq__ Undocumented
Method __hash__ Undocumented
Method __lt__ Undocumented
Method __reduce__ Pickling should return the model._meta.fields instance of the field, not a new copy of that field. So, use the app registry to load the model and then the field back.
Method __repr__ Display the module, class, and name of the field.
Method __str__ Return "app_label.model_label.field_name" for fields attached to models.
Method cast_db_type Return the data type to use in the Cast() function.
Method clean Convert the value's type and run validation. Validation errors from to_python() and validate() are propagated. Return the correct value if no error is raised.
Method clone Uses deconstruct() to clone a new copy of this Field. Will not preserve any class attachments/attribute names.
Method db_check Return the database column check constraint for this field, for the provided connection. Works the same way as db_type() for the case that get_internal_type() does not map to a preexisting model field.
Method db_parameters Extension of db_type(), providing a range of different return values (type, checks). This will look at db_type(), allowing custom model fields to override it.
Method db_type_parameters Undocumented
Method db_type_suffix Undocumented
Method get_attname Undocumented
Method get_attname_column Undocumented
Method get_choices Return choices with a default blank choices included, for use as <select> choices for this field.
Method get_col Undocumented
Method get_db_converters Undocumented
Method get_db_prep_save Return field's value prepared for saving into a database.
Method get_db_prep_value Return field's value prepared for interacting with the database backend.
Method get_default Return the default value for this field.
Method get_filter_kwargs_for_object Return a dict that when passed as kwargs to self.model.filter(), would yield all instances having the same value for this field as obj has.
Method get_internal_type Undocumented
Method get_pk_value_on_save Hook to generate new PK values on save. This method is called when saving instances with no primary key value set. If this method returns something else than None, then the returned value is used when saving the new instance.
Method get_prep_value Perform preliminary non-db specific value checks and conversions.
Method has_default Return a boolean of whether this field has a default value.
Method pre_save Return field's value just before saving.
Method rel_db_type Return the data type that a related field pointing to this field should use. For example, this method is called by ForeignKey and OneToOneField to determine its data type.
Method run_validators Undocumented
Method save_form_data Undocumented
Method select_format Custom format for select clauses. For example, GIS columns need to be selected as AsText(table.col) on MySQL as the table.col data can't be used by Django.
Method set_attributes_from_name Undocumented
Method to_python Convert the input value into the expected Python data type, raising django.core.exceptions.ValidationError if the data can't be converted. Return the converted value. Subclasses should override this.
Method validate Validate value and raise ValidationError if necessary. Subclasses should override this to provide validation logic.
Method value_from_object Return the value of this field in the given model instance.
Method value_to_string Return a string value of this field from the passed obj. This is used by the serialization framework.
Class Variable auto_creation_counter Undocumented
Class Variable default_error_messages Undocumented
Class Variable default_validators Undocumented
Class Variable description Undocumented
Class Variable empty_strings_allowed Undocumented
Class Variable empty_values Undocumented
Class Variable flatchoices Undocumented
Class Variable hidden Undocumented
Class Variable non_db_attrs Undocumented
Class Variable system_check_deprecated_details Undocumented
Class Variable system_check_removed_details Undocumented
Instance Variable attname Undocumented
Instance Variable auto_created Undocumented
Instance Variable blank Undocumented
Instance Variable choices Undocumented
Instance Variable column Undocumented
Instance Variable concrete Undocumented
Instance Variable creation_counter Undocumented
Instance Variable db_column Undocumented
Instance Variable db_index Undocumented
Instance Variable default Undocumented
Instance Variable editable Undocumented
Instance Variable help_text Undocumented
Instance Variable is_relation Undocumented
Instance Variable max_length Undocumented
Instance Variable model Undocumented
Instance Variable null Undocumented
Instance Variable primary_key Undocumented
Instance Variable remote_field Undocumented
Instance Variable serialize Undocumented
Instance Variable unique_for_date Undocumented
Instance Variable unique_for_month Undocumented
Instance Variable unique_for_year Undocumented
Property cached_col Undocumented
Property db_returning Private API intended only to be used by Django itself. Currently only the PostgreSQL backend supports returning multiple fields on a model.
Property db_tablespace Undocumented
Property error_messages Undocumented
Property unique Undocumented
Property validators Some validators can't be created at field initialization time. This method provides a way to delay their creation until required.
Class Method _choices_is_value Undocumented
Method _check_backend_specific_checks Undocumented
Method _check_choices Undocumented
Method _check_db_index Undocumented
Method _check_deprecation_details Undocumented
Method _check_field_name Check if field name is valid, i.e. 1) does not end with an underscore, 2) does not contain "__" and 3) is not "pk".
Method _check_null_allowed_for_primary_keys Undocumented
Method _check_validators Undocumented
Method _description Undocumented
Method _get_flatchoices Flattened version of choices tuple.
Instance Variable _db_tablespace Undocumented
Instance Variable _error_messages Undocumented
Instance Variable _unique Undocumented
Instance Variable _validators Undocumented
Instance Variable _verbose_name Undocumented
Property _get_default Undocumented

Inherited from RegisterLookupMixin (via FieldCacheMixin, Field):

Class Method get_lookups Undocumented
Class Method register_lookup Undocumented
Static Method merge_dicts Merge dicts in reverse to preference the order of the original list. e.g., merge_dicts([a, b]) will preference the keys in 'a' over those in 'b'.
Method get_lookup Undocumented
Method get_transform Undocumented
Class Method _clear_cached_lookups Undocumented
Class Method _get_lookup Undocumented
Class Method _unregister_lookup Remove given lookup from cls lookups. For use in tests only as it's not thread-safe.
def __init__(self, related_name=None, related_query_name=None, limit_choices_to=None, **kwargs): (source)
def contribute_to_class(self, cls, name, private_only=False, **kwargs): (source)

Register the field with the model class it belongs to. If private_only is True, create a separate instance of this field for every subclass of cls, even if cls is not an abstract model.

def db_type(self, connection): (source)

Return the database column data type for this field, for the provided connection.

def deconstruct(self): (source)

Return enough information to recreate the field as a 4-tuple: * The name of the field on the model, if contribute_to_class() has been run. * The import path of the field, including the class, e.g. django.db.models.IntegerField. This should be the most portable version, so less specific may be better. * A list of positional arguments. * A dict of keyword arguments. Note that the positional or keyword arguments must contain values of the following types (including inner values of collection types): * None, bool, str, int, float, complex, set, frozenset, list, tuple, dict * UUID * datetime.datetime (naive), datetime.date * top-level classes, top-level functions - will be referenced by their full import path * Storage instances - these have their own deconstruct() method This is because the values here must be serialized into a text format (possibly new Python code, possibly JSON) and these are the only types with encoding handlers defined. There's no need to return the exact way the field was instantiated this time, just ensure that the resulting field is the same - prefer keyword arguments over positional ones, and omit parameters with their default values.

def do_related_class(self, other, cls): (source)

Undocumented

def formfield(self, **kwargs): (source)

Pass ``limit_choices_to`` to the field being constructed. Only passes it if there is a type that supports related fields. This is a similar strategy used to pass the ``queryset`` to the field being constructed.

def get_forward_related_filter(self, obj): (source)

Return the keyword arguments that when supplied to self.model.object.filter(), would select all instances related through this field to the remote obj. This is used to build the querysets returned by related descriptors. obj is an instance of self.related_field.model.

def get_limit_choices_to(self): (source)

Return ``limit_choices_to`` for this model field. If it is a callable, it will be invoked and the result will be returned.

def get_reverse_related_filter(self, obj): (source)

Complement to get_forward_related_filter(). Return the keyword arguments that when passed to self.related_field.model.object.filter() select all instances of self.related_field.model related through this field to obj. obj is an instance of self.model.

def related_query_name(self): (source)

Define the name that can be used to identify this related object in a table-spanning query.

def set_attributes_from_rel(self): (source)

Undocumented

@property
swappable_setting = (source)

Get the setting that this is powered from for swapping, or None if it's not swapped in / marked with swappable=False.

@property
target_field = (source)

When filtering against this relation, return the field on the remote model against which the filtering should happen.

def _check_clashes(self): (source)

Check accessor and reverse query name clashes.

def _check_referencing_to_swapped_model(self): (source)

Undocumented

def _check_related_name_is_valid(self): (source)

Undocumented

def _check_related_query_name_is_valid(self): (source)

Undocumented

def _check_relation_model_exists(self): (source)

Undocumented

_limit_choices_to = (source)

Undocumented

_related_name = (source)

Undocumented

_related_query_name = (source)

Undocumented