@@ -34,6 +34,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
34
34
supports_transactions = False
35
35
supports_unspecified_pk = True
36
36
uses_savepoints = False
37
+ supports_boolean_expr_in_select_clause = True
37
38
38
39
_django_test_expected_failures = {
39
40
# 'NulledTransform' object has no attribute 'as_mql'.
@@ -91,6 +92,18 @@ class DatabaseFeatures(BaseDatabaseFeatures):
91
92
"schema.tests.SchemaTests.test_composed_constraint_with_fk" ,
92
93
"schema.tests.SchemaTests.test_remove_ignored_unique_constraint_not_create_fk_index" ,
93
94
"schema.tests.SchemaTests.test_unique_constraint" ,
95
+ # subclasses of BaseDatabaseIntrospection may require a get_constraints() method
96
+ "migrations.test_operations.OperationTests.test_add_func_unique_constraint" ,
97
+ "migrations.test_operations.OperationTests.test_remove_func_unique_constraint" ,
98
+ # Delete does not support subqueries.
99
+ "delete_regress.tests.DeleteTests.test_self_reference_with_through_m2m_at_second_level" ,
100
+ # Handle column default value.
101
+ "annotations.tests.NonAggregateAnnotationTestCase.test_empty_queryset_annotation" ,
102
+ # Union as subquery is not mapping the parent parameter and collections.
103
+ "queries.test_qs_combinators.QuerySetSetOperationTests.test_union_in_subquery_related_outerref" ,
104
+ "queries.test_qs_combinators.QuerySetSetOperationTests.test_union_in_subquery" ,
105
+ # Log with Decimal128 isn't working as expected.
106
+ "db_functions.math.test_log.LogTests.test_decimal" ,
94
107
}
95
108
# $bitAnd, #bitOr, and $bitXor are new in MongoDB 6.3.
96
109
_django_test_expected_failures_bitwise = {
@@ -206,106 +219,7 @@ def django_test_expected_failures(self):
206
219
"db_functions.comparison.test_cast.CastTests.test_cast_to_integer_foreign_key" ,
207
220
"model_fields.test_foreignkey.ForeignKeyTests.test_to_python" ,
208
221
"queries.test_qs_combinators.QuerySetSetOperationTests.test_order_raises_on_non_selected_column" ,
209
- },
210
- "Exists is not supported on MongoDB." : {
211
- "aggregation.test_filter_argument.FilteredAggregateTests.test_filtered_aggregate_on_exists" ,
212
- "aggregation.test_filter_argument.FilteredAggregateTests.test_filtered_aggregate_ref_multiple_subquery_annotation" ,
213
- "aggregation.tests.AggregateTestCase.test_aggregation_exists_multivalued_outeref" ,
214
- "aggregation.tests.AggregateTestCase.test_group_by_exists_annotation" ,
215
- "aggregation.tests.AggregateTestCase.test_exists_none_with_aggregate" ,
216
- "aggregation.tests.AggregateTestCase.test_exists_extra_where_with_aggregate" ,
217
- "annotations.tests.NonAggregateAnnotationTestCase.test_annotation_exists_aggregate_values_chaining" ,
218
- "annotations.tests.NonAggregateAnnotationTestCase.test_annotation_exists_none_query" ,
219
- "aggregation_regress.tests.AggregationTests.test_annotate_and_join" ,
220
- "delete_regress.tests.DeleteTests.test_self_reference_with_through_m2m_at_second_level" ,
221
- "expressions.tests.BasicExpressionsTests.test_annotation_with_deeply_nested_outerref" ,
222
- "expressions.tests.BasicExpressionsTests.test_boolean_expression_combined" ,
223
- "expressions.tests.BasicExpressionsTests.test_boolean_expression_combined_with_empty_Q" ,
224
- "expressions.tests.BasicExpressionsTests.test_boolean_expression_in_Q" ,
225
- "expressions.tests.BasicExpressionsTests.test_case_in_filter_if_boolean_output_field" ,
226
- "expressions.tests.BasicExpressionsTests.test_exists_in_filter" ,
227
- "expressions.tests.BasicExpressionsTests.test_order_by_exists" ,
228
- "expressions.tests.BasicExpressionsTests.test_subquery" ,
229
- "expressions.tests.ExistsTests.test_filter_by_empty_exists" ,
230
- "expressions.tests.ExistsTests.test_negated_empty_exists" ,
231
- "expressions.tests.ExistsTests.test_optimizations" ,
232
- "expressions.tests.ExistsTests.test_select_negated_empty_exists" ,
233
- "lookup.tests.LookupTests.test_exact_exists" ,
234
- "lookup.tests.LookupTests.test_nested_outerref_lhs" ,
235
- "lookup.tests.LookupQueryingTests.test_filter_exists_lhs" ,
236
- "model_forms.tests.LimitChoicesToTests.test_fields_for_model_applies_limit_choices_to" ,
237
- "model_forms.tests.LimitChoicesToTests.test_limit_choices_to_callable_for_fk_rel" ,
238
- "model_forms.tests.LimitChoicesToTests.test_limit_choices_to_callable_for_m2m_rel" ,
239
- "model_forms.tests.LimitChoicesToTests.test_limit_choices_to_m2m_through" ,
240
- "model_forms.tests.LimitChoicesToTests.test_limit_choices_to_no_duplicates" ,
241
- "null_queries.tests.NullQueriesTests.test_reverse_relations" ,
242
- "queries.test_qs_combinators.QuerySetSetOperationTests.test_union_with_values_list_on_annotated_and_unannotated" ,
243
- "queries.tests.ExcludeTest17600.test_exclude_plain" ,
244
- "queries.tests.ExcludeTest17600.test_exclude_with_q_is_equal_to_plain_exclude_variation" ,
245
- "queries.tests.ExcludeTest17600.test_exclude_with_q_object_no_distinct" ,
246
- "queries.tests.ExcludeTests.test_exclude_multivalued_exists" ,
247
- "queries.tests.ExcludeTests.test_exclude_reverse_fk_field_ref" ,
248
- "queries.tests.ExcludeTests.test_exclude_with_circular_fk_relation" ,
249
- "queries.tests.ExcludeTests.test_subquery_exclude_outerref" ,
250
- "queries.tests.ExcludeTests.test_to_field" ,
251
- "queries.tests.ForeignKeyToBaseExcludeTests.test_ticket_21787" ,
252
- "queries.tests.JoinReuseTest.test_inverted_q_across_relations" ,
253
- "queries.tests.ManyToManyExcludeTest.test_exclude_many_to_many" ,
254
- "queries.tests.ManyToManyExcludeTest.test_ticket_12823" ,
255
- "queries.tests.Queries1Tests.test_double_exclude" ,
256
- "queries.tests.Queries1Tests.test_exclude" ,
257
- "queries.tests.Queries1Tests.test_exclude_in" ,
258
- "queries.tests.Queries1Tests.test_excluded_intermediary_m2m_table_joined" ,
259
- "queries.tests.Queries1Tests.test_nested_exclude" ,
260
- "queries.tests.Queries4Tests.test_join_reuse_order" ,
261
- "queries.tests.Queries4Tests.test_ticket24525" ,
262
- "queries.tests.Queries6Tests.test_tickets_8921_9188" ,
263
- "queries.tests.Queries6Tests.test_xor_subquery" ,
264
- "queries.tests.QuerySetBitwiseOperationTests.test_subquery_aliases" ,
265
- "queries.tests.TestTicket24605.test_ticket_24605" ,
266
- "queries.tests.Ticket20101Tests.test_ticket_20101" ,
267
- "queries.tests.Ticket20788Tests.test_ticket_20788" ,
268
- "queries.tests.Ticket22429Tests.test_ticket_22429" ,
269
- },
270
- "Subquery is not supported on MongoDB." : {
271
- "aggregation.test_filter_argument.FilteredAggregateTests.test_filtered_aggregate_ref_subquery_annotation" ,
272
- "aggregation.tests.AggregateAnnotationPruningTests.test_referenced_composed_subquery_requires_wrapping" ,
273
- "aggregation.tests.AggregateAnnotationPruningTests.test_referenced_subquery_requires_wrapping" ,
274
- "aggregation.tests.AggregateTestCase.test_aggregation_nested_subquery_outerref" ,
275
- "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation" ,
276
- "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation_multivalued" ,
277
- "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation_related_field" ,
278
- "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation_values" ,
279
- "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation_values_collision" ,
280
- "annotations.tests.NonAggregateAnnotationTestCase.test_annotation_filter_with_subquery" ,
281
- "annotations.tests.NonAggregateAnnotationTestCase.test_annotation_subquery_and_aggregate_values_chaining" ,
282
- "annotations.tests.NonAggregateAnnotationTestCase.test_annotation_subquery_outerref_transform" ,
283
- "annotations.tests.NonAggregateAnnotationTestCase.test_empty_queryset_annotation" ,
284
- "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_outerref" ,
285
- "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_subquery_with_parameters" ,
286
- "expressions.tests.BasicExpressionsTests.test_aggregate_subquery_annotation" ,
287
- "expressions.tests.BasicExpressionsTests.test_annotation_with_nested_outerref" ,
288
- "expressions.tests.BasicExpressionsTests.test_annotation_with_outerref" ,
289
- "expressions.tests.BasicExpressionsTests.test_annotations_within_subquery" ,
290
- "expressions.tests.BasicExpressionsTests.test_in_subquery" ,
291
- "expressions.tests.BasicExpressionsTests.test_nested_outerref_with_function" ,
292
- "expressions.tests.BasicExpressionsTests.test_nested_subquery" ,
293
- "expressions.tests.BasicExpressionsTests.test_nested_subquery_join_outer_ref" ,
294
- "expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_2" ,
295
222
"expressions.tests.BasicExpressionsTests.test_nested_subquery_outer_ref_with_autofield" ,
296
- "expressions.tests.BasicExpressionsTests.test_outerref_mixed_case_table_name" ,
297
- "expressions.tests.BasicExpressionsTests.test_outerref_with_operator" ,
298
- "expressions.tests.BasicExpressionsTests.test_subquery_filter_by_aggregate" ,
299
- "expressions.tests.BasicExpressionsTests.test_subquery_filter_by_lazy" ,
300
- "expressions.tests.BasicExpressionsTests.test_subquery_group_by_outerref_in_filter" ,
301
- "expressions.tests.BasicExpressionsTests.test_subquery_in_filter" ,
302
- "expressions.tests.BasicExpressionsTests.test_subquery_references_joined_table_twice" ,
303
- "expressions.tests.BasicExpressionsTests.test_uuid_pk_subquery" ,
304
- "lookup.tests.LookupQueryingTests.test_filter_subquery_lhs" ,
305
- "model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_on_subquery" ,
306
- "model_fields.test_jsonfield.TestQuerying.test_obj_subquery_lookup" ,
307
- "queries.test_qs_combinators.QuerySetSetOperationTests.test_union_in_subquery" ,
308
- "queries.test_qs_combinators.QuerySetSetOperationTests.test_union_in_subquery_related_outerref" ,
309
223
},
310
224
"Using a QuerySet in annotate() is not supported on MongoDB." : {
311
225
"aggregation.test_filter_argument.FilteredAggregateTests.test_filtered_reused_subquery" ,
@@ -417,6 +331,7 @@ def django_test_expected_failures(self):
417
331
"ordering.tests.OrderingTests.test_orders_nulls_first_on_filtered_subquery" ,
418
332
"queries.tests.ExcludeTest17600.test_exclude_plain_distinct" ,
419
333
"queries.tests.ExcludeTest17600.test_exclude_with_q_is_equal_to_plain_exclude" ,
334
+ "queries.tests.ExcludeTest17600.test_exclude_with_q_is_equal_to_plain_exclude_variation" ,
420
335
"queries.tests.ExcludeTest17600.test_exclude_with_q_object_distinct" ,
421
336
"queries.tests.ExcludeTests.test_exclude_m2m_through" ,
422
337
"queries.tests.ExistsSql.test_distinct_exists" ,
@@ -433,6 +348,7 @@ def django_test_expected_failures(self):
433
348
"update.tests.AdvancedTests.test_update_all" ,
434
349
},
435
350
"QuerySet.extra() is not supported." : {
351
+ "aggregation.tests.AggregateTestCase.test_exists_extra_where_with_aggregate" ,
436
352
"annotations.tests.NonAggregateAnnotationTestCase.test_column_field_ordering" ,
437
353
"annotations.tests.NonAggregateAnnotationTestCase.test_column_field_ordering_with_deferred" ,
438
354
"basic.tests.ModelTest.test_extra_method_select_argument_with_dashes" ,
@@ -467,6 +383,11 @@ def django_test_expected_failures(self):
467
383
"aggregation.tests.AggregateAnnotationPruningTests.test_unused_aliased_aggregate_pruned" ,
468
384
"aggregation.tests.AggregateAnnotationPruningTests.test_referenced_aggregate_annotation_kept" ,
469
385
"aggregation.tests.AggregateTestCase.test_count_star" ,
386
+ "aggregation.test_filter_argument.FilteredAggregateTests.test_filtered_aggregate_ref_subquery_annotation" ,
387
+ "aggregation.tests.AggregateAnnotationPruningTests.test_referenced_composed_subquery_requires_wrapping" ,
388
+ "aggregation.tests.AggregateAnnotationPruningTests.test_referenced_subquery_requires_wrapping" ,
389
+ "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation" ,
390
+ "aggregation.tests.AggregateTestCase.test_aggregation_subquery_annotation_related_field" ,
470
391
"delete.tests.DeletionTests.test_only_referenced_fields_selected" ,
471
392
"lookup.tests.LookupTests.test_in_ignore_none" ,
472
393
"lookup.tests.LookupTests.test_textfield_exact_null" ,
0 commit comments