Himanshu-Balasamanta
06ebaa9e28
Fixed #33626 -- Cleared cache when unregistering a lookup.
2022-04-12 06:24:02 +02:00
Sage Abdullah
a88fab1bca
Fixed #33552 -- Fixed JSONField has key lookups with numeric keys on MariaDB, MySQL, Oracle, and SQLite.
2022-03-15 06:37:35 +01:00
Nick Pope
847f46e9bf
Removed redundant QuerySet.all() calls in docs and tests.
...
Most QuerySet methods are mapped onto the Manager and, in general,
it isn't necessary to call .all() on the manager.
2022-02-22 10:29:38 +01:00
Mariusz Felisiak
7119f40c98
Refs #33476 -- Refactored code to strictly match 88 characters line length.
2022-02-07 20:37:05 +01:00
django-bot
9c19aff7c7
Refs #33476 -- Reformatted code with Black.
2022-02-07 20:37:05 +01:00
Mariusz Felisiak
c5cd878382
Refs #33476 -- Refactored problematic code before reformatting by Black.
...
In these cases Black produces unexpected results, e.g.
def make_random_password(
self,
length=10,
allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789',
):
or
cursor.execute("""
SELECT ...
""",
[table name],
)
2022-02-03 11:20:46 +01:00
Adam Johnson
fdfa97fb16
Fixed #33441 -- Restored immutability of models.Field.__hash__().
...
Regression in 502e75f9ed
.
2022-01-14 07:00:48 +01:00
Chinmoy Chakraborty
b7fd668b37
Fixed #33033 -- Prevented models.DecimalField from accepting NaN values.
2021-09-28 13:20:14 +02:00
Daniyal
f479df7f8d
Refs #32508 -- Raised Type/ValueError instead of using "assert" in django.db.models.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-07-15 11:43:33 +02:00
Mariusz Felisiak
b55699968f
Fixed #32718 -- Relaxed file name validation in FileField.
...
- Validate filename returned by FileField.upload_to() not a filename
passed to the FileField.generate_filename() (upload_to() may
completely ignored passed filename).
- Allow relative paths (without dot segments) in the generated filename.
Thanks to Jakub Kleň for the report and review.
Thanks to all folks for checking this patch on existing projects.
Thanks Florian Apolloner and Markus Holtermann for the discussion and
implementation idea.
Regression in 0b79eb3691
.
2021-05-13 08:53:44 +02:00
Adam Johnson
45a58c31e6
Fixed #32620 -- Allowed subclasses of Big/SmallAutoField for DEFAULT_AUTO_FIELD.
2021-04-08 13:17:08 +02:00
Mariusz Felisiak
71ec102b01
Fixed #32483 -- Fixed QuerySet.values()/values_list() on JSONField key transforms with booleans on SQLite.
...
Thanks Matthew Cornell for the report.
2021-03-23 08:28:47 +01:00
Mariusz Felisiak
c4df8b86c7
Refs #32483 -- Added tests QuerySet.values()/values_list() on key transforms with structures containing booleans.
2021-03-23 08:27:14 +01:00
Mariusz Felisiak
037607ff19
Refs #31936 -- Added tests for __in lookup on JSONField key transforms with booleans.
2021-03-23 08:27:14 +01:00
Hasan Ramezani
63d239db03
Fixed #32411 -- Fixed __icontains lookup for JSONField on MySQL.
2021-02-05 16:14:12 +01:00
Mariusz Felisiak
d992f4e3c2
Refs #31369 -- Removed models.NullBooleanField per deprecation timeline.
2021-01-14 17:50:04 +01:00
sage
8d7085e0fd
Fixed #32252 -- Fixed __isnull=True on key transforms on SQLite and Oracle.
...
__isnull=True on key transforms should not match keys with NULL values.
2020-12-11 09:15:42 +01:00
Hasan Ramezani
275dd4ebba
Fixed #32178 -- Allowed database backends to skip tests and mark expected failures.
...
Co-authored-by: Tim Graham <timograham@gmail.com>
2020-12-10 18:00:57 +01:00
Ian Foote
8b040e3cbb
Fixed #25534 , Fixed #31639 -- Added support for transform references in expressions.
...
Thanks Mariusz Felisiak and Simon Charette for reviews.
2020-11-27 20:42:04 +01:00
sage
fe6e582421
Fixed #32203 -- Fixed QuerySet.values()/values_list() crash on key transforms with non-string values on SQLite.
...
Thanks Gordon Wrigley for the report.
2020-11-25 14:51:35 +01:00
sage
7408c4cd15
Refs #32203 -- Added tests for QuerySet.values()/values_list() on key transforms with non-trivial values.
2020-11-25 13:48:11 +01:00
Mariusz Felisiak
bec415b290
Added test for filtering JSONField key transforms with quoted strings.
2020-11-24 18:11:19 +01:00
Hannes Ljungberg
0773837e15
Fixed #32182 -- Fixed crash of JSONField nested key transforms with subquery annotations on PostgreSQL.
2020-11-10 07:09:58 +01:00
Hasan Ramezani
3f7b327562
Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly.
...
This also replaces assertQuerysetEqual() to
assertSequenceEqual()/assertCountEqual() where appropriate.
Co-authored-by: Peter Inglesby <peter.inglesby@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-11-06 09:24:50 +01:00
David-Wobrock
cfc7cd6513
Fixed #32132 -- Fixed column types in m2m intermediary tables for Positive(Big/Small)IntegerFields.
2020-11-02 20:11:58 +01:00
David-Wobrock
4ebd633350
Refs #32132 -- Added rel_db_type() tests for auto and integer fields.
2020-11-02 20:11:58 +01:00
Tim Graham
755dbf39fc
Replaced @no_oracle skips with DatabaseFeatures.allows_group_by_lob.
2020-10-22 18:16:58 +02:00
Mariusz Felisiak
bbd55e5863
Refs #32096 -- Fixed ExpressionWrapper crash with JSONField key transforms.
...
Regression in 6789ded0a6
.
Thanks Simon Charette and Igor Jerosimić for the report.
2020-10-14 20:56:04 +02:00
Mariusz Felisiak
7e1e198494
Refs #32096 -- Fixed __in lookup crash against key transforms for JSONField.
...
Regression in 6789ded0a6
and
1251772cb8
.
Thanks Simon Charette and Igor Jerosimić for the report.
2020-10-14 20:56:04 +02:00
David Smith
4b032142fa
Used assertRaisesMessage() in CharField tests.
2020-09-25 10:12:01 +02:00
Tom Carrick
e387f191f7
Fixed #31777 -- Added support for database collations to Char/TextFields.
...
Thanks Simon Charette and Mariusz Felisiak for reviews.
2020-09-21 18:24:56 +02:00
Jacob Walls
1db8d8e3a9
Refs #23130 -- Added test for BooleanField choices generation.
2020-09-10 11:42:06 +02:00
Ryan Hiebert
502e75f9ed
Fixed #31750 -- Made models.Field equality compare models for inherited fields.
2020-09-09 20:52:59 +02:00
jpribyl
94e2238107
Refs #31894 -- Added tests for JSONField key lookups with QuerySet.exclude().
2020-09-04 09:04:24 +02:00
Mariusz Felisiak
0be51d2226
Fixed #31956 -- Fixed crash of ordering by JSONField with a custom decoder on PostgreSQL.
...
Thanks Marc Debureaux for the report.
Thanks Simon Charette, Nick Pope, and Adam Johnson for reviews.
2020-08-28 19:09:46 +02:00
Mariusz Felisiak
2210539142
Refs #31956 -- Added test for ordering by JSONField with a custom decoder.
2020-08-28 19:09:41 +02:00
Mariusz Felisiak
1251772cb8
Fixed #31936 -- Fixed __in lookup on key transforms for JSONField.
...
This resolves an issue on databases without a native JSONField
(MariaDB, MySQL, SQLite, Oracle), where values must be wrapped.
Thanks Sébastien Pattyn for the report.
2020-08-26 22:13:37 +02:00
David Smith
e74b3d724e
Bumped minimum isort version to 5.1.0.
...
Fixed inner imports per isort 5.
isort 5.0.0 to 5.1.0 was unstable.
2020-07-30 10:58:59 +02:00
Tim Graham
184a6eebb0
Refs #31829 -- Added DatabaseFeatures.json_key_contains_list_matching_requires_list.
...
CockroachDB's behavior matches PostgreSQL.
2020-07-30 06:38:02 +02:00
sage
2d8dcba03a
Fixed #31829 -- Used JSONField __contains lookup on key transforms.
2020-07-28 13:10:12 +02:00
Mariusz Felisiak
ba691933ce
Fixed #31836 -- Dropped support for JSONField __contains and __contained_by lookups on SQLite.
...
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
2020-07-28 13:06:52 +02:00
Mariusz Felisiak
02447fb133
Fixed #31835 -- Dropped support for JSONField __contains lookup on Oracle.
...
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
2020-07-28 11:54:01 +02:00
Matthias Kestenholz
c1f8d87bb0
Fixed #31812 -- Fixed FileField.model for fields defined in abstract models.
...
Regression in a93425a37f
.
2020-07-24 11:06:57 +02:00
Hasan Ramezani
47651eadb8
Fixed #30583 -- Fixed handling JSONFields in XML serializer.
...
Co-authored-by: Chason Chaffin <chason@gmail.com>
2020-06-17 11:12:18 +02:00
Sasha Pachev
38a21f2d9e
Fixed #31663 -- Made DecimalField.to_python() handle non-numeric invalid values.
2020-06-05 21:13:36 +02:00
Tim Graham
f59a2b7306
Refs #12990 -- Added DatabaseFeatures.has_json_operators.
...
CockroachDB also has them.
2020-05-18 08:12:20 +02:00
sage
6789ded0a6
Fixed #12990 , Refs #27694 -- Added JSONField model field.
...
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael
Michel for mentoring this Google Summer of Code 2019 project and
everyone else who helped with the patch.
Special thanks to Mads Jensen, Nick Pope, and Simon Charette for
extensive reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-05-08 07:23:31 +02:00
Nick Pope
335c9c94ac
Simplified imports from django.db and django.contrib.gis.db.
2020-02-04 13:20:06 +01:00
Mariusz Felisiak
2e6dc72d83
Used temporary directory in FileFieldTests.test_pickle().
...
Using the current directory caused a PermissionError.
2020-01-31 20:33:48 +01:00
Hasan Ramezani
a97111eabf
Fixed 31207 -- Prevented references to non-local remote fields in ForeignKey.to_field.
...
Thanks Simon Charette for the initial patch and review.
2020-01-31 10:19:12 +01:00
Carlton Gibson
29c126bb34
Fixed #31124 -- Fixed setting of get_FOO_display() when overriding inherited choices.
...
Regression in 2d38eb0ab9
2020-01-15 15:35:22 +01:00
Carlton Gibson
4c1b401e82
Added file cleanup in FileFieldTests.test_pickle().
2020-01-09 20:47:45 +01:00
Hasan Ramezani
f600e3fad6
Fixed #21238 -- Fixed restoring attributes when pickling FileField and ImageField.
2020-01-09 09:37:59 +01:00
Hasan Ramezani
aaea9deac4
Refs #21238 -- Added more tests for pickling FileField and ImageField.
2020-01-09 09:18:53 +01:00
Hasan Ramezani
66e16dcc99
Removed unused lines in ImageFieldTests.test_pickle().
2020-01-09 08:44:39 +01:00
Mariusz Felisiak
5a68f02498
Fixed random models_fields.test_uuid.TestQuerying failures.
...
Random failures depended on a generated UUID.
2019-12-27 15:25:50 +01:00
Caio Ariede
555bebe774
Fixed #30987 -- Added models.PositiveBigIntegerField.
2019-11-19 09:34:11 +01:00
Jon Dufresne
77aa74cb70
Refs #29983 -- Added support for using pathlib.Path in all settings.
2019-11-07 10:26:22 +01:00
Jon Dufresne
39791c8e6d
Harmonized Windows checks in tests to a single style.
2019-11-06 15:14:30 +01:00
Carlton Gibson
2d38eb0ab9
Fixed #30931 -- Restored ability to override Model.get_FIELD_display().
...
Thanks Sergey Fedoseev for the implementation idea.
Regression in a68ea23101
.
2019-11-04 07:55:34 +01:00
Nick Pope
7552de7866
Used more specific unittest assertions in tests.
...
* assertIsNone()/assertIsNotNone() instead of comparing to None.
* assertLess() for < comparisons.
* assertIs() for 'is' expressions.
* assertIsInstance() for isinstance() expressions.
* rounding of assertAlmostEqual() for round() expressions.
* assertIs(..., True/False) instead of comparing to True/False.
* assertIs()/assertIsNot() for ==/!= comparisons.
* assertNotEqual() for == comparisons.
* assertTrue()/assertFalse() instead of comparing to True/False.
2019-10-29 12:37:30 +01:00
Dan Moore
bc94e3c1a2
Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships.
2019-10-23 10:50:31 +02:00
Dan Moore
f3855a8d2d
Added tests for Field.get_choices()'s limit_choices_to argument.
2019-10-23 10:47:17 +02:00
Jon Dufresne
2f72480fbd
Replaced deprecated assertEquals() with assertEqual().
2019-10-21 07:52:17 +02:00
Ian Foote
d9881a025c
Fixed #29915 -- Added support for values with hyphens to pattern lookups for UUIDField on backends without UUID datatype.
...
Support hyphens in iexact, contains, icontains, startswith, istartswith,
endswith and iendswith UUIDField filters on backends without UUID
datatype.
2019-09-23 08:24:08 +02:00
Ian Foote
485f65b3c0
Refs #29915 -- Added tests for using pattern lookups with values without hyphens for UUIDField.
2019-09-23 08:24:00 +02:00
Shai Berger
72ebe85a26
Fixed #27910 -- Added enumeration helpers for use in Field.choices.
...
These classes can serve as a base class for user enums, supporting
translatable human-readable names, or names automatically inferred
from the enum member name.
Additional properties make it easy to access the list of names, values
and display labels.
Thanks to the following for ideas and reviews:
Carlton Gibson, Fran Hrženjak, Ian Foote, Mariusz Felisiak, Shai Berger.
Co-authored-by: Shai Berger <shai@platonix.com>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-09-04 14:42:49 +02:00
Nick Pope
21e559495b
Fixed #29979 , Refs #17337 -- Extracted AutoField field logic into a mixin and refactored AutoFields.
...
This reduces duplication by allowing AutoField, BigAutoField and
SmallAutoField to inherit from IntegerField, BigIntegerField and
SmallIntegerField respectively. Doing so also allows for enabling the
max_length warning check and minimum/maximum value validation for auto
fields, as well as providing a mixin that can be used for other possible
future auto field types such as a theoretical UUIDAutoField.
2019-08-20 09:22:25 +02:00
zeyneloz
00035672a4
Fixed #30449 -- Fixed RelatedFieldListFilter/RelatedOnlyFieldListFilter to respect model's Meta.ordering.
...
Regression in 6d4e5feb79
.
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2019-08-15 10:29:05 +02:00
Diederik van der Boor
25f21bd237
Fixed #28393 -- Added helpful error messages for invalid AutoField/FloatField/IntegerField values.
...
Co-authored-by: Diederik van der Boor <vdboor@edoburu.nl>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2019-08-05 08:41:29 +02:00
Jon Dufresne
42b9a23267
Fixed #30400 -- Improved typography of user facing strings.
...
Thanks Claude Paroz for assistance with translations.
2019-06-28 16:46:18 +02:00
Jon Dufresne
498092377b
Refs #27804 -- Used subTest() in BinaryFieldTests.test_set_and_retrieve.
2019-06-07 06:04:56 +02:00
Mykola Kokalko
ef082ebb84
Fixed #29529 -- Allowed models.fields.FilePathField to accept a callable path.
2019-05-02 11:11:56 +02:00
Mykola Kokalko
11971cd87c
Added tests for setting models.fields.FilePathField.path.
2019-05-02 11:11:50 +02:00
Scott Fitsimones
a14c0fda15
Fixed #30328 -- Fixed crash of IntegerField.validators when limit_value in a custom validator is callable.
2019-04-19 07:58:27 +02:00
Matthias Kestenholz
ea60b7bc74
Removed redundant model field choices tests.
2019-03-23 12:04:39 -04:00
Simon Charette
218a485bf1
Refs #12663 -- Fixed reference to nonexistent field in model_fields tests.
2019-03-17 20:49:32 -04:00
avas9366
9681e968eb
Fixed #30232 -- Corrected expected format in invalid DurationField error message.
2019-03-04 19:25:27 -05:00
Joshua Cannon
16a5a2a2c8
Fixed #30076 -- Added Model.get_FOO_display() even if field's choices are empty.
2019-01-30 13:44:10 -05:00
Simon Charette
84e7a9f4a7
Switched setUp() to setUpTestData() where possible in Django's tests.
2018-11-27 09:35:17 -05:00
Tim Graham
193c109327
Switched TestCase to SimpleTestCase where possible in Django's tests.
2018-11-27 08:58:44 -05:00
Hasan Ramezani
6d4e5feb79
Fixed #29835 -- Made RelatedFieldListFilter respect ModelAdmin.ordering.
2018-11-14 14:29:39 -05:00
Sanyam Khurana
83c7096f2a
Fixed #29869 -- Made UUIDField.to_python() convert integers.
2018-10-24 20:26:57 -04:00
Simon Charette
5e3463f6bc
Fixed #27595 -- Made ForeignKey.get_col() follow target chains.
...
Previously, foreign relationships were followed only one level deep which
prevents foreign keys to foreign keys from being resolved appropriately.
This was causing issues such as improper database value conversion for
UUIDField on SQLite because the resolved expression's output field's
internal type wasn't correct. Added tests to make sure unlikely foreign
reference cycles don't cause recursion errors.
Refs #24343 .
Thanks oyooyo for the report and Wayne Merry for the investigation.
2018-10-22 09:49:34 -04:00
Jon Dufresne
b3b47bf515
Added tests for using bytearray with BinaryField and corrected docs.
2018-10-01 09:16:16 -04:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Jon Dufresne
fb2964a410
Added test of filtering on BinaryField and corrected docs.
2018-09-26 14:38:12 -04:00
orlnub123
21420096c4
Fixed #29247 -- Allowed blank model field choice to be defined in nested choices.
2018-04-20 11:06:14 -04:00
Tim Graham
e35004966b
Moved tests for model Field.get_choices().
2018-04-20 11:05:25 -04:00
Tim Graham
5fa4f40f45
Fixed #29227 -- Allowed BooleanField to be null=True.
...
Thanks Lynn Cyrin for contributing to the patch, and Nick Pope for review.
2018-03-20 12:10:10 -04:00
Mariusz Felisiak
362813d628
Fixed hanging indentation in various code.
2018-03-16 10:54:34 +01:00
Sergey Fedoseev
ae6fa914aa
Fixed #28926 -- Fixed loss of precision of big DurationField values on SQLite and MySQL.
2017-12-28 17:35:41 -05:00
Cameron Curry
622ead6aaf
Fixed #28937 -- Allowed BinaryField to be editable=True.
2017-12-22 16:31:46 -05:00
Sergey Fedoseev
6fd6d8383f
Fixed #28915 -- Prevented SQLite from truncating trailing zeros in the fractional part of DecimalField.
...
This reverts commit a146b65628
and adds
a test for the regression.
2017-12-12 21:57:41 -10:00
Simon Charette
e50add6ca1
Fixed #28856 -- Fixed a regression in caching of a GenericForeignKey pointing to a MTI model.
...
Regression in b9f8635f58
.
2017-11-30 09:28:44 -05:00
Sergey Fedoseev
b5ecbf1e12
Simplified choices iterators in tests.model_fields.models.
2017-11-13 13:11:07 -05:00
Tim Graham
dd82f33271
Fixed #27979 -- Made MySQL raise IntegrityError rather than OperationalError when saving negative numbers in PositiveInteger fields.
2017-09-29 15:20:32 -04:00
Tim Graham
a80903b711
Removed DatabaseFeatures.supports_microsecond_precision.
...
MySQL 5.5 (refs #28552 ) was the last database to use it.
2017-09-25 14:48:15 -04:00
Tim Graham
e5bd585c6e
Fixed #28543 -- Prevented ManyToManyField.value_from_object() from being lazy.
...
Previously, it was a QuerySet which could reevaluate to a new value if the
model's data changes. This is inconsistent with other Field.value_from_object()
methods.
This allows reverting the fix in the admin for refs #27998 .
2017-08-31 09:34:44 -04:00
Mads Jensen
a51c4de194
Used assertRaisesMessage() to test Django's error messages.
2017-07-29 19:07:23 -04:00