@@ -32,40 +32,25 @@ class DatabaseFeatures(BaseDatabaseFeatures):
3232 "lookup.tests.LookupTests.test_exact_none_transform" ,
3333 # "Save with update_fields did not affect any rows."
3434 "basic.tests.SelectOnSaveTests.test_select_on_save_lying_update" ,
35- # Lookup in order_by() not supported:
36- # argument of type '<database function>' is not iterable
35+ # Order by constant not supported:
36+ # AttributeError: 'Field' object has no attribute 'model'
37+ "ordering.tests.OrderingTests.test_order_by_constant_value" ,
38+ "expressions.tests.NegatedExpressionTests.test_filter" ,
39+ "expressions_case.tests.CaseExpressionTests.test_order_by_conditional_implicit" ,
40+ # NotSupportedError: order_by() expression not supported.
3741 "db_functions.comparison.test_coalesce.CoalesceTests.test_ordering" ,
3842 "db_functions.tests.FunctionTests.test_nested_function_ordering" ,
3943 "db_functions.text.test_length.LengthTests.test_ordering" ,
4044 "db_functions.text.test_strindex.StrIndexTests.test_order_by" ,
41- "expressions.tests.BasicExpressionsTests.test_order_by_exists" ,
42- "expressions.tests.BasicExpressionsTests.test_order_by_multiline_sql" ,
4345 "expressions_case.tests.CaseExpressionTests.test_order_by_conditional_explicit" ,
4446 "lookup.tests.LookupQueryingTests.test_lookup_in_order_by" ,
45- "ordering.tests.OrderingTests.test_default_ordering" ,
46- "ordering.tests.OrderingTests.test_default_ordering_by_f_expression" ,
47- "ordering.tests.OrderingTests.test_default_ordering_does_not_affect_group_by" ,
48- "ordering.tests.OrderingTests.test_order_by_constant_value" ,
4947 "ordering.tests.OrderingTests.test_order_by_expr_query_reuse" ,
5048 "ordering.tests.OrderingTests.test_order_by_expression_ref" ,
51- "ordering.tests.OrderingTests.test_order_by_f_expression" ,
52- "ordering.tests.OrderingTests.test_order_by_f_expression_duplicates" ,
53- "ordering.tests.OrderingTests.test_order_by_fk_attname" ,
54- "ordering.tests.OrderingTests.test_order_by_nulls_first" ,
55- "ordering.tests.OrderingTests.test_order_by_nulls_last" ,
5649 "ordering.tests.OrderingTests.test_ordering_select_related_collision" ,
57- "ordering.tests.OrderingTests.test_order_by_self_referential_fk" ,
58- "ordering.tests.OrderingTests.test_orders_nulls_first_on_filtered_subquery" ,
59- "ordering.tests.OrderingTests.test_related_ordering_duplicate_table_reference" ,
60- "ordering.tests.OrderingTests.test_reverse_ordering_pure" ,
61- "ordering.tests.OrderingTests.test_reverse_meta_ordering_pure" ,
62- "ordering.tests.OrderingTests.test_reversed_ordering" ,
50+ "queries.tests.Queries1Tests.test_order_by_related_field_transform" ,
6351 "update.tests.AdvancedTests.test_update_ordered_by_inline_m2m_annotation" ,
6452 "update.tests.AdvancedTests.test_update_ordered_by_m2m_annotation" ,
6553 "update.tests.AdvancedTests.test_update_ordered_by_m2m_annotation_desc" ,
66- # 'ManyToOneRel' object has no attribute 'column'
67- "m2m_through.tests.M2mThroughTests.test_order_by_relational_field_through_model" ,
68- "queries.tests.Queries4Tests.test_order_by_reverse_fk" ,
6954 # pymongo: ValueError: update cannot be empty
7055 "update.tests.SimpleTest.test_empty_update_with_inheritance" ,
7156 "update.tests.SimpleTest.test_nonempty_update_with_inheritance" ,
@@ -137,6 +122,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
137122 # QuerySet.explain() not implemented:
138123 # https://github.com/mongodb-labs/django-mongodb/issues/28
139124 "queries.test_explain.ExplainUnsupportedTests.test_message" ,
125+ # filter() on related model + update() doesn't work.
126+ "queries.tests.Queries5Tests.test_ticket9848" ,
140127 }
141128 # $bitAnd, #bitOr, and $bitXor are new in MongoDB 6.3.
142129 _django_test_expected_failures_bitwise = {
@@ -320,6 +307,7 @@ def django_test_expected_failures(self):
320307 "expressions.tests.BasicExpressionsTests.test_boolean_expression_in_Q" ,
321308 "expressions.tests.BasicExpressionsTests.test_case_in_filter_if_boolean_output_field" ,
322309 "expressions.tests.BasicExpressionsTests.test_exists_in_filter" ,
310+ "expressions.tests.BasicExpressionsTests.test_order_by_exists" ,
323311 "expressions.tests.BasicExpressionsTests.test_subquery" ,
324312 "expressions.tests.ExistsTests.test_filter_by_empty_exists" ,
325313 "expressions.tests.ExistsTests.test_negated_empty_exists" ,
@@ -438,6 +426,7 @@ def django_test_expected_failures(self):
438426 "expressions.tests.FieldTransformTests.test_month_aggregation" ,
439427 "expressions_case.tests.CaseDocumentationExamples.test_conditional_aggregation_example" ,
440428 "model_fields.test_jsonfield.TestQuerying.test_ordering_grouping_by_count" ,
429+ "ordering.tests.OrderingTests.test_default_ordering_does_not_affect_group_by" ,
441430 "queries.tests.Queries1Tests.test_ticket_20250" ,
442431 "queries.tests.ValuesQuerysetTests.test_named_values_list_expression_with_default_alias" ,
443432 },
@@ -514,6 +503,11 @@ def django_test_expected_failures(self):
514503 "queries.tests.ValuesQuerysetTests.test_named_values_list_without_fields" ,
515504 "select_related.tests.SelectRelatedTests.test_select_related_with_extra" ,
516505 },
506+ "Ordering a QuerySet by null_first/nulls_last is not supported on MongoDB." : {
507+ "ordering.tests.OrderingTests.test_order_by_nulls_first" ,
508+ "ordering.tests.OrderingTests.test_order_by_nulls_last" ,
509+ "ordering.tests.OrderingTests.test_orders_nulls_first_on_filtered_subquery" ,
510+ },
517511 "QuerySet.update() crash: Unrecognized expression '$count'" : {
518512 "update.tests.AdvancedTests.test_update_annotated_multi_table_queryset" ,
519513 },
@@ -529,6 +523,7 @@ def django_test_expected_failures(self):
529523 "delete_regress.tests.DeleteLockingTest.test_concurrent_delete" ,
530524 "expressions.tests.BasicExpressionsTests.test_annotate_values_filter" ,
531525 "expressions.tests.BasicExpressionsTests.test_filtering_on_rawsql_that_is_boolean" ,
526+ "expressions.tests.BasicExpressionsTests.test_order_by_multiline_sql" ,
532527 "model_fields.test_jsonfield.TestQuerying.test_key_sql_injection_escape" ,
533528 "model_fields.test_jsonfield.TestQuerying.test_key_transform_raw_expression" ,
534529 "model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_raw_expression" ,
@@ -617,18 +612,6 @@ def django_test_expected_failures(self):
617612 "Randomized ordering isn't supported by MongoDB." : {
618613 "ordering.tests.OrderingTests.test_random_ordering" ,
619614 },
620- # https://github.com/mongodb-labs/django-mongodb/issues/34
621- "Ordering can't span tables on MongoDB" : {
622- "queries.tests.ConditionalTests.test_infinite_loop" ,
623- "queries.tests.NullableRelOrderingTests.test_join_already_in_query" ,
624- "queries.tests.Queries1Tests.test_order_by_related_field_transform" ,
625- "queries.tests.Queries1Tests.test_ticket7181" ,
626- "queries.tests.Queries1Tests.test_tickets_2076_7256" ,
627- "queries.tests.Queries1Tests.test_tickets_2874_3002" ,
628- "queries.tests.Queries5Tests.test_ordering" ,
629- "queries.tests.Queries5Tests.test_ticket9848" ,
630- "queries.tests.Ticket14056Tests.test_ticket_14056" ,
631- },
632615 "Queries without a collection aren't supported on MongoDB." : {
633616 "queries.test_q.QCheckTests" ,
634617 "queries.test_query.TestQueryNoModel" ,
0 commit comments