summaryrefslogtreecommitdiff
path: root/tests/constraints
AgeCommit message (Collapse)Author
2024-08-05[5.0.x] Fixed #35638 -- Updated validate_constraints to consider db_default.David Sanders
Backport of 509763c79952cde02d9f5b584af4278bdbed77b2 from main.
2024-07-26[5.0.x] Added missing skips in constraint tests.Tim Graham
Backport of b6ad8b687adf011245270df17a38c1a42792e3d7 from main.
2024-07-17[5.0.x] Fixed #35594 -- Added unique nulls distinct validation for expressions.Simon Charette
Thanks Mark Gensler for the report. Backport of adc0b6aac3f8a5c96e1ca282bc9f46e28d20281c from main.
2024-07-17[5.0.x] Refs #30581 -- Made unattached UniqueConstraint(fields) validation ↵Simon Charette
testable. The logic allowing UniqueConstraint(fields).validate to preserve backward compatiblity with Model.unique_error_message failed to account for cases where the constraint might not be attached to a model which is a common pattern during testing. This changes allows for arbitrary UniqueConstraint(fields) to be tested in isolation without requiring actual models backing them up. Co-authored-by: Mark G <mark.gensler@protonmail.com> Backport of 13922580cccfb9ab2922ff4943dd39da56dfbd8c from main.
2023-10-12[5.0.x] Refs #34840 -- Fixed ↵Mariusz Felisiak
test_validate_nullable_textfield_with_isnull_true() on databases that don's support table check constraints. Thanks Tim Graham for the report. Backport of 9fd3a0ffc8fb8e532b0d5717f99fb15aff175a6c from main
2023-09-22[5.0.x] Fixed #34840 -- Avoided casting string base fields on PostgreSQL.Mariusz Felisiak
Thanks Alex Vandiver for the report. Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca. Backport of 779cd28acb1f7eb06f629c0ea4ded99b5ebb670a from main.
2023-08-11Fixed #34743 -- Fixed Meta.constraints validation crash when using pk.Francesco Panico
Thanks Nwawel A Iroume for the report.
2023-08-04Fixed #34754 -- Fixed JSONField check constraints validation on NULL values.Simon Charette
The __isnull lookup of JSONField must special case Value(None, JSONField()) left-hand-side in order to be coherent with its convoluted null handling. Since psycopg>=3 offers no way to pass a NULL::jsonb the issue is resolved by optimizing IsNull(Value(None), True | False) to True | False. Regression in 5c23d9f0c32f166c81ecb6f3f01d5077a6084318. Thanks Alexandre Collet for the report.
2023-07-19Made UniqueConstraint raise TypeError for type violations.Simon Charette
2023-07-19Fixed #34701 -- Added support for NULLS [NOT] DISTINCT on PostgreSQL 15+.Simon Charette
2023-02-24Refs #34338 -- Fixed isolation of constraints tests.Mariusz Felisiak
Regression in 5b3d3e400ab9334ba429ca360c9818c6dfc3a51b.
2023-02-23Fixed #34338 -- Allowed customizing code of ValidationError in ↵Xavier Fernandez
BaseConstraint and subclasses.
2023-02-23Refs #33829 -- Added violation_error_message to constraints' __repr__().Xavier Fernandez
2023-02-22Fixed #34355 -- Deprecated passing positional arguments to BaseConstraint.Xavier Fernandez
2023-02-08Fixed #34319 -- Fixed Model.validate_constraints() crash on ValidationError ↵Mariusz Felisiak
with no code. Thanks Mateusz Kurowski for the report. Regression in 667105877e6723c6985399803a364848891513cc.
2023-01-26Fixed #34291 -- Fixed Meta.constraints validation crash on UniqueConstraint ↵Mariusz Felisiak
with ordered expressions. Thanks Dan F for the report. Bug in 667105877e6723c6985399803a364848891513cc.
2022-09-13Fixed #33996 -- Fixed CheckConstraint validation on NULL values.David Sanders
Bug in 667105877e6723c6985399803a364848891513cc. Thanks James Beith for the report.
2022-08-09Fixed #33902 -- Fixed Meta.constraints validation crash with F() expressions.Mariusz Felisiak
Thanks Adam Zahradník for the report. Bug in 667105877e6723c6985399803a364848891513cc.
2022-07-08Fixed #33829 -- Made BaseConstraint.deconstruct() and equality handle ↵Stéphane "Twidi" Angel
violation_error_message. Regression in 667105877e6723c6985399803a364848891513cc.
2022-05-10Fixed #30581 -- Added support for Meta.constraints validation.Gagaro
Thanks Simon Charette, Keryn Knight, and Mariusz Felisiak for reviews.
2022-05-05Refs #30581 -- Moved CheckConstraint tests for conditional expressions to ↵Mariusz Felisiak
migrations.test_operations. This allows avoiding warning in tests about using RawSQL in CheckConstraints.
2022-02-07Refs #33476 -- Reformatted code with Black.django-bot
2021-02-23Fixed #30916 -- Added support for functional unique constraints.Hannes Ljungberg
Thanks Ian Foote and Mariusz Felisiak for reviews.
2021-02-19Fixed #32458 -- Made __repr__() for Index and BaseConstraint subclasses more ↵Hannes Ljungberg
consistent.
2020-07-27Fixed #31815 -- Fixed schema value encoding on PostgreSQL.Mariusz Felisiak
2020-06-29Fixed #31745 -- Added error messages when using ↵Hannes Ljungberg
UniqueConstraint.include/opclasses with deferrable.
2020-06-16Fixed #31702 -- Added support for PostgreSQL opclasses in UniqueConstraint.Hannes Ljungberg
2020-06-04Refs #30913 -- Added system checks for covering indexes and unique ↵Mariusz Felisiak
constraints support.
2020-06-04Fixed #30913 -- Added support for covering indexes on PostgreSQL 11+.Hannes Ljungberg
2020-04-30Fixed #20581 -- Added support for deferrable unique constraints.Ian Foote
2020-04-17Refs #31351 -- Made partial constraints tests use required_db_features.Mariusz Felisiak
This will notably silence the warnings issued when running the test suite on MySQL and MariaDB.
2019-11-21Fixed #30484 -- Added conditional expressions support to CheckConstraint.Simon Charette
2019-10-01Fixed #30651 -- Made __eq__() methods return NotImplemented for not ↵ElizabethU
implemented comparisons. Changed __eq__ to return NotImplemented instead of False if compared to an object of the same type, as is recommended by the Python data model reference. Now these models can be compared to ANY (or other objects with __eq__ overwritten) without returning False automatically.
2019-08-12Refs #11964 -- Made constraint support check respect required_db_features.Simon Charette
This will notably silence the warnings issued when running the test suite on MySQL.
2019-07-19Fixed #30593 -- Added support for check constraints on MariaDB 10.2+.Hasan Ramezani
2019-07-08Fixed #30397 -- Added app_label/class interpolation for names of indexes and ↵can
constraints.
2019-01-12Fixed #30062 -- Added support for unique conditional constraints.Paveł Tyślacki
2019-01-12Added tests for Check/UniqueConstraint.__eq__().Paveł Tyślacki
2019-01-10Renamed variables after generalization of constraints.Paveł Tyślacki
Follow up to 8eae094638acf802c8047b341d126d94bc9b45a3.
2019-01-01Fixed #30060 -- Moved SQL generation for indexes and constraints to ↵Paveł Tyślacki
SchemaEditor.
2018-11-21Fixed #29949 -- Refactored db introspection identifier converters.Mariusz Felisiak
Removed DatabaseIntrospection.table_name_converter()/column_name_converter() and use instead DatabaseIntrospection.identifier_converter(). Removed DatabaseFeatures.uppercases_column_names. Thanks Tim Graham for the initial patch and review and Simon Charette for the review.
2018-11-13Fixed #29641 -- Added support for unique constraints in Meta.constraints.Simon Charette
This constraint is similar to Meta.unique_together but also allows specifying a name. Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13Refs #29641 -- Refactored database schema constraint creation.Simon Charette
Added a test for constraint names in the database. Updated SQLite introspection to use sqlparse to allow reading the constraint name for table check and unique constraints. Co-authored-by: Ian Foote <python@ian.feete.org>
2018-10-02Refs #29641 -- Extracted reusable CheckConstraint logic into a base class.Simon Charette
2018-10-02Refs #11964 -- Changed CheckConstraint() signature to use keyword-only ↵Simon Charette
arguments. Also renamed the `constraint` argument to `check` to better represent which part of the constraint the provided `Q` object represents.
2018-09-25Refs #11964 -- Renamed a database check constraint test.Ian Foote
2018-07-10Fixed #11964 -- Added support for database check constraints.Ian Foote