summaryrefslogtreecommitdiff
path: root/django/db/models/fields/__init__.py
AgeCommit message (Collapse)Author
2015-09-18Fixed #24636 -- Added model field validation for decimal places and max digits.Iulia Chiriac
2015-09-01Removed obsolete TODO about moving CommaSeparatedIntegerField into contrib.Tim Graham
2015-08-27Fixed #24201 -- Added order_with_respect_to support to GenericForeignKey.Alex Hill
2015-08-12Fixed #25172 -- Fixed check framework to work with multiple databases.Ion Scerbatiuc
2015-08-03Removed unused Field.get_flatchoices() method.Tim Graham
Unused since c2ba59fc1da5287d6286e2c2aca4083d5bafe056 (Django 1.0). Thanks Andy Baker for the report.
2015-07-17Fixed #16501 -- Added an allow_unicode parameter to SlugField.Edward Henderson
Thanks Flavio Curella and Berker Peksag for the initial patch.
2015-07-14Fixed #24716 -- Deprecated Field._get_val_from_obj()Thomas Stephenson
The method duplicates the functionality of Field.value_from_object() and has the additional downside of being a privately named public API method.
2015-06-27Sorted imports in __init__.py files.Tim Graham
2015-06-24Renamed RemovedInDjangoXYWarnings for new roadmap.Tim Graham
Forwardport of ae1d663b7913f6da233c55409c4973248372d302 from stable/1.8.x plus more.
2015-06-15Removed django.utils.functional.total_ordering()Tim Graham
2015-06-06Fixed #24859 -- Made QuerySet.get() with UUIDField raise TypeError on bad value.Cole Maclean
For consistency with AutoField.
2015-06-04Fixed #22316 -- Added time filters to TimeField on SQLite.Matthew Somerville
This was implemented for non-SQLite backends in 1.7 (as a side effect of #16187).
2015-06-04Fixed #24677 -- Made TextField.to_python() return a string.Rolo
This is consistent with CharField.
2015-06-02Fixed #9596 -- Added date transform for DateTimeField.Jon Dufresne
2015-05-19Fixed #24818 -- Prevented models.CharField from accepting a string as max_lengthAlasdair Nicol
2015-05-17Renamed value_to_db_xxx to adapt_xxxfield_value.Aymeric Augustin
This mirrors convert_xxxfield_value nicely, taking advantage of the adapter/converter terminology which is commonly used by DB-API modules.
2015-05-13Removed unnecessary arguments in .get method callsPiotr Jakimiak
2015-05-11Removed redundant removal of hyphens in UUIDField.Matt Robenolt
2015-05-06Fixed #24708 -- Handled non-string values in GenericIPAddressField.to_python()Pradeek
2015-04-20Fixed #22394 -- Refactored built-in datetime lookups to transforms.Jon Dufresne
2015-03-25Renamed Field.rel attribute to remote_fieldAnssi Kääriäinen
Field.rel is now deprecated. Rel objects have now also remote_field attribute. This means that self == self.remote_field.remote_field. In addition, made the Rel objects a bit more like Field objects. Still, marked ManyToManyFields as null=True.
2015-03-24Fixed #24483 -- Prevented keepdb from breaking with generator choices.David Szotten
If Field.choices is provided as an iterator, consume it in __init__ instead of using itertools.tee (which ends up holding everything in memory anyway). Fixes a bug where deconstruct() was consuming the iterator but bypassing the call to `tee`.
2015-02-21Fixed #24376 -- added verbose_name arg to UUIDFieldMichael Angeletti
2015-02-20Fixed #24343 -- Ensure db converters are used for foreign keys.Marc Tamlyn
Joint effort between myself, Josh, Anssi and Shai.
2015-02-13Fixed #24319 -- Added validation for UUID model fieldJosh Smeaton
2015-02-09Fixed #24302 -- Added DurationField.formfield()Tim Graham
2015-02-05Added UUIDField.deconstruct()Tim Graham
2015-02-03Fixed #23617 -- Added get_pk_value_on_save()Anssi Kääriäinen
The method is mainly intended for use with UUIDField. For UUIDField we want to call the field's default even when primary key value is explicitly set to None to match the behavior of AutoField. Thanks to Marc Tamlyn and Tim Graham for review.
2015-01-27Fixed #24210 -- Cleaned up relational fields __init__().Loic Bistuer
Thanks Collin Anderson and Tim Graham for the reviews.
2015-01-19Removed IPAddressField per deprecation timeline; refs #20439.Tim Graham
2015-01-16Fixed #24092 -- Widened base field support for ArrayField.Marc Tamlyn
Several issues resolved here, following from a report that a base_field of GenericIpAddressField was failing. We were using get_prep_value instead of get_db_prep_value in ArrayField which was bypassing any extra modifications to the value being made in the base field's get_db_prep_value. Changing this broke datetime support, so the postgres backend has gained the relevant operation methods to send dates/times/datetimes directly to the db backend instead of casting them to strings. Similarly, a new database feature has been added allowing the uuid to be passed directly to the backend, as we do with timedeltas. On the other side, psycopg2 expects an Inet() instance for IP address fields, so we add a value_to_db_ipaddress method to wrap the strings on postgres. We also have to manually add a database adapter to psycopg2, as we do not wish to use the built in adapter which would turn everything into Inet() instances. Thanks to smclenithan for the report.
2015-01-10Move % addition to lookups, refactor postgres lookups.Marc Tamlyn
These refactorings making overriding some text based lookup names on other fields (specifically `contains`) much cleaner. It also removes a bunch of duplication in the contrib.postgres lookups.
2015-01-08Fixed #24020 -- Refactored SQL compiler to use expressionsAnssi Kääriäinen
Refactored compiler SELECT, GROUP BY and ORDER BY generation. While there, also refactored select_related() implementation (get_cached_row() and get_klass_info() are now gone!). Made get_db_converters() method work on expressions instead of internal_type. This allows the backend converters to target specific expressions if need be. Added query.context, this can be used to set per-query state. Also changed the signature of database converters. They now accept context as an argument.
2015-01-07Refs #2443 -- Allowed creation of objects with NULL DurationFieldsMichał Modzelewski
2015-01-07Fixed #24078 -- Removed empty strings from GenericIPAddressFieldJosh Smeaton
2015-01-06Fixed #12663 -- Formalized the Model._meta API for retrieving fields.Daniel Pyrathon
Thanks to Russell Keith-Magee for mentoring this Google Summer of Code 2014 project and everyone else who helped with the patch!
2015-01-05Fixed #23861 -- Added an API to deprecate model fields.Tim Graham
Thanks Markus Holterman and Berker Peksag for review.
2015-01-02Fixed #9104 -- Moved FieldDoesNotExist to core.exceptionsDaniel Pyrathon
2015-01-01Fixed #23891 -- Moved deprecation of IPAddressField to system check framework.Tim Graham
Thanks Markus Holtermann for review.
2014-12-31Moved DatabaseCreation.data_types properties to DatabaseWrapper.Tim Graham
refs #22340.
2014-12-23Removed models.Field.bind() -- unused/undocumented since at least 1.0.Tim Graham
2014-12-23Refs #2443 -- Move the durationfield converter logic.Marc Tamlyn
This reduces how frequently this logic is run significantly. Thanks to Anssi for the suggestion.
2014-12-23Fixed #24033 -- Use interval type on Oracle.Marc Tamlyn
Use INTERVAL DAY(9) TO SECOND(6) for Durationfield on Oracle rather than storing as a NUMBER(19) of microseconds. There are issues with cx_Oracle which require some extra data manipulation in the database backend when constructing queries, but it handles the conversion back to timedelta objects cleanly. Thanks to Shai for the review.
2014-12-20Fixed #2443 -- Added DurationField.Marc Tamlyn
A field for storing periods of time - modeled in Python by timedelta. It is stored in the native interval data type on PostgreSQL and as a bigint of microseconds on other backends. Also includes significant changes to the internals of time related maths in expressions, including the removal of DateModifierNode. Thanks to Tim and Josh in particular for reviews.
2014-12-12Fixed #23941 -- Removed implicit decimal formatting from expressions.Josh Smeaton
2014-12-09Remove text-mangling of default values.Marc Tamlyn
2014-11-26Fixed #23801 -- Added warning when max_length is used with IntegerFieldMattBlack85
2014-11-15Fixed #14030 -- Allowed annotations to accept all expressionsJosh Smeaton
2014-11-12Remove Field.get_validator_unique_lookup_type()Tim Graham
Usage of this method was removed pre 1.0 (c2ba59fc).
2014-11-03Fixed #23420 - broken warning for unbound naive datetime objectsAndy Chosak
Fixed issue with warning message displayed for unbound naive datetime objects when USE_TZ is True. Adds unit test that demonstrates the issue (discoverable when using a custom lookup in MySQL).