diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index f81112595..f2c900e5c 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -89,6 +89,7 @@ jobs: from_db_value lookup model_fields + ordering or_lookups queries.tests.Ticket12807Tests.test_ticket_12807 sessions_tests diff --git a/django_mongodb/features.py b/django_mongodb/features.py index bc083130e..7779d886d 100644 --- a/django_mongodb/features.py +++ b/django_mongodb/features.py @@ -36,6 +36,12 @@ class DatabaseFeatures(BaseDatabaseFeatures): "db_functions.text.test_strindex.StrIndexTests.test_order_by", "expressions_case.tests.CaseExpressionTests.test_order_by_conditional_explicit", "lookup.tests.LookupQueryingTests.test_lookup_in_order_by", + "ordering.tests.OrderingTests.test_default_ordering_by_f_expression", + "ordering.tests.OrderingTests.test_default_ordering_does_not_affect_group_by", + "ordering.tests.OrderingTests.test_order_by_expression_ref", + "ordering.tests.OrderingTests.test_order_by_f_expression", + "ordering.tests.OrderingTests.test_order_by_f_expression_duplicates", + "ordering.tests.OrderingTests.test_reverse_ordering_pure", # annotate() after values() doesn't raise NotSupportedError. "lookup.tests.LookupTests.test_exact_query_rhs_with_selected_columns", # tuple index out of range in process_rhs() @@ -172,6 +178,7 @@ def django_test_expected_failures(self): "defer_regress.tests.DeferRegressionTest.test_proxy_model_defer_with_select_related", "defer_regress.tests.DeferRegressionTest.test_reverse_one_to_one_relations", "defer_regress.tests.DeferRegressionTest.test_ticket_23270", + "ordering.tests.OrderingTests.test_ordering_select_related_collision", }, "MongoDB does not enforce UNIQUE constraints.": { "auth_tests.test_basic.BasicTestCase.test_unicode_username", @@ -252,6 +259,7 @@ def django_test_expected_failures(self): "expressions_case.tests.CaseExpressionTests.test_annotate_values_not_in_order_by", "expressions_case.tests.CaseExpressionTests.test_order_by_conditional_implicit", "model_fields.test_jsonfield.TestQuerying.test_ordering_grouping_by_count", + "ordering.tests.OrderingTests.test_order_by_constant_value", # annotate().filter().count() gives incorrect results. "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_year_exact_lookup", }, @@ -288,6 +296,9 @@ def django_test_expected_failures(self): "defer.tests.DeferTests.test_defer_extra", "lookup.tests.LookupTests.test_values", "lookup.tests.LookupTests.test_values_list", + "ordering.tests.OrderingTests.test_extra_ordering", + "ordering.tests.OrderingTests.test_extra_ordering_quoting", + "ordering.tests.OrderingTests.test_extra_ordering_with_table_name", }, "Queries with multiple tables are not supported.": { "annotations.tests.AliasTests.test_alias_default_alias_expression", @@ -339,6 +350,19 @@ def django_test_expected_failures(self): "model_fields.test_jsonfield.TestQuerying.test_join_key_transform_annotation_expression", "model_fields.test_manytomanyfield.ManyToManyFieldDBTests.test_value_from_object_instance_with_pk", "model_fields.test_uuid.TestAsPrimaryKey.test_two_level_foreign_keys", + "ordering.tests.OrderingTests.test_default_ordering", + "ordering.tests.OrderingTests.test_order_by_expr_query_reuse", + "ordering.tests.OrderingTests.test_order_by_fk_attname", + "ordering.tests.OrderingTests.test_order_by_grandparent_fk_with_expression_in_default_ordering", + "ordering.tests.OrderingTests.test_order_by_nulls_first", + "ordering.tests.OrderingTests.test_order_by_nulls_last", + "ordering.tests.OrderingTests.test_order_by_parent_fk_with_expression_in_default_ordering", + "ordering.tests.OrderingTests.test_order_by_ptr_field_with_default_ordering_by_expression", + "ordering.tests.OrderingTests.test_order_by_self_referential_fk", + "ordering.tests.OrderingTests.test_orders_nulls_first_on_filtered_subquery", + "ordering.tests.OrderingTests.test_related_ordering_duplicate_table_reference", + "ordering.tests.OrderingTests.test_reverse_meta_ordering_pure", + "ordering.tests.OrderingTests.test_reversed_ordering", "timezones.tests.LegacyDatabaseTests.test_query_annotation", "timezones.tests.NewDatabaseTests.test_query_annotation", "update.tests.AdvancedTests.test_update_annotated_multi_table_queryset", @@ -435,6 +459,9 @@ def django_test_expected_failures(self): "model_fields.test_jsonfield.TestQuerying.test_none_key", "model_fields.test_jsonfield.TestQuerying.test_none_key_exclude", }, + "Randomized ordering isn't supported by MongoDB.": { + "ordering.tests.OrderingTests.test_random_ordering", + }, } @cached_property