@@ -19,28 +19,12 @@ class DatabaseFeatures(BaseDatabaseFeatures):
19
19
# Database defaults not supported: bson.errors.InvalidDocument:
20
20
# cannot encode object: <django.db.models.expressions.DatabaseDefault
21
21
"basic.tests.ModelInstanceCreationTests.test_save_primary_with_db_default" ,
22
- # Date lookups aren't implemented: https://github.com/mongodb-labs/django-mongodb/issues/9
23
- # (e.g. ExtractWeekDay is not supported.)
24
- "basic.tests.ModelLookupTest.test_does_not_exist" ,
25
- "basic.tests.ModelLookupTest.test_equal_lookup" ,
26
- "basic.tests.ModelLookupTest.test_rich_lookup" ,
22
+ # Query for chained lookups not generated correctly.
27
23
"lookup.tests.LookupTests.test_chain_date_time_lookups" ,
28
- "lookup.test_timefield.TimeFieldLookupTests.test_hour_lookups" ,
29
- "lookup.test_timefield.TimeFieldLookupTests.test_minute_lookups" ,
30
- "lookup.test_timefield.TimeFieldLookupTests.test_second_lookups" ,
31
- "timezones.tests.LegacyDatabaseTests.test_query_datetime_lookups" ,
32
- "timezones.tests.NewDatabaseTests.test_query_convert_timezones" ,
33
- "timezones.tests.NewDatabaseTests.test_query_datetime_lookups" ,
34
- "timezones.tests.NewDatabaseTests.test_query_datetime_lookups_in_other_timezone" ,
35
24
# 'NulledTransform' object has no attribute 'as_mql'.
36
25
"lookup.tests.LookupTests.test_exact_none_transform" ,
37
26
# "Save with update_fields did not affect any rows."
38
27
"basic.tests.SelectOnSaveTests.test_select_on_save_lying_update" ,
39
- # 'TruncDate' object has no attribute 'as_mql'.
40
- "model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_with_use_tz" ,
41
- "model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_without_use_tz" ,
42
- # BaseDatabaseOperations.date_extract_sql() not implemented.
43
- "annotations.tests.AliasTests.test_basic_alias_f_transform_annotation" ,
44
28
# Slicing with QuerySet.count() doesn't work.
45
29
"lookup.tests.LookupTests.test_count" ,
46
30
# Lookup in order_by() not supported:
@@ -62,6 +46,10 @@ class DatabaseFeatures(BaseDatabaseFeatures):
62
46
"db_functions.math.test_log.LogTests.test_decimal" ,
63
47
# MongoDB gives ROUND(365, -1)=360 instead of 370 like other databases.
64
48
"db_functions.math.test_round.RoundTests.test_integer_with_negative_precision" ,
49
+ # Truncating in another timezone doesn't work becauase MongoDB converts
50
+ # the result back to UTC.
51
+ "db_functions.datetime.test_extract_trunc.DateFunctionWithTimeZoneTests.test_trunc_func_with_timezone" ,
52
+ "db_functions.datetime.test_extract_trunc.DateFunctionWithTimeZoneTests.test_trunc_timezone_applied_before_truncation" ,
65
53
}
66
54
67
55
django_test_skips = {
@@ -158,6 +146,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
158
146
"lookup.tests.LookupTests.test_nested_outerref_lhs" ,
159
147
"lookup.tests.LookupQueryingTests.test_filter_exists_lhs" ,
160
148
# QuerySet.alias() doesn't work.
149
+ "annotations.tests.AliasTests.test_basic_alias_f_transform_annotation" ,
161
150
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_and_alias_filter_in_subquery" ,
162
151
"lookup.tests.LookupQueryingTests.test_alias" ,
163
152
# annotate() with combined expressions doesn't work:
@@ -171,6 +160,8 @@ class DatabaseFeatures(BaseDatabaseFeatures):
171
160
"lookup.tests.LookupQueryingTests.test_filter_lookup_lhs" ,
172
161
# Subquery not supported.
173
162
"annotations.tests.NonAggregateAnnotationTestCase.test_empty_queryset_annotation" ,
163
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_outerref" ,
164
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_subquery_with_parameters" ,
174
165
"lookup.tests.LookupQueryingTests.test_filter_subquery_lhs" ,
175
166
# ExpressionWrapper not supported.
176
167
"annotations.tests.NonAggregateAnnotationTestCase.test_combined_expression_annotation_with_aggregation" ,
@@ -198,14 +189,17 @@ class DatabaseFeatures(BaseDatabaseFeatures):
198
189
# Coalesce not implemented.
199
190
"annotations.tests.AliasTests.test_alias_annotation_expression" ,
200
191
"annotations.tests.NonAggregateAnnotationTestCase.test_full_expression_wrapped_annotation" ,
201
- # BaseDatabaseOperations may require a datetime_extract_sql().
202
- "annotations.tests.NonAggregateAnnotationTestCase.test_joined_transformed_annotation" ,
203
192
# BaseDatabaseOperations may require a format_for_duration_arithmetic().
204
193
"annotations.tests.NonAggregateAnnotationTestCase.test_mixed_type_annotation_date_interval" ,
205
194
# FieldDoesNotExist with ordering.
206
195
"annotations.tests.AliasTests.test_order_by_alias" ,
207
196
"annotations.tests.NonAggregateAnnotationTestCase.test_order_by_aggregate" ,
208
197
"annotations.tests.NonAggregateAnnotationTestCase.test_order_by_annotation" ,
198
+ # annotate().filter().count() gives incorrect results.
199
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_year_exact_lookup" ,
200
+ # Year lookup + lt/gt crashes: 'dict' object has no attribute 'startswith'
201
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_year_greaterthan_lookup" ,
202
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_year_lessthan_lookup" ,
209
203
},
210
204
"Count doesn't work in QuerySet.annotate()" : {
211
205
"annotations.tests.AliasTests.test_alias_annotate_with_aggregation" ,
@@ -246,6 +240,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
246
240
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_and_alias_filter_related_in_subquery" ,
247
241
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_filter_with_subquery" ,
248
242
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_reverse_m2m" ,
243
+ "annotations.tests.NonAggregateAnnotationTestCase.test_joined_transformed_annotation" ,
249
244
"annotations.tests.NonAggregateAnnotationTestCase.test_mti_annotations" ,
250
245
"annotations.tests.NonAggregateAnnotationTestCase.test_values_with_pk_annotation" ,
251
246
"annotations.tests.NonAggregateAnnotationTestCase.test_annotation_subquery_outerref_transform" ,
@@ -312,9 +307,27 @@ class DatabaseFeatures(BaseDatabaseFeatures):
312
307
"db_functions.math.test_sqrt.SqrtTests.test_transform" ,
313
308
"db_functions.math.test_tan.TanTests.test_transform" ,
314
309
},
315
- "MongoDB does not support Sign." : {
310
+ "MongoDB does not support this database function." : {
311
+ "db_functions.datetime.test_now.NowTests" ,
316
312
"db_functions.math.test_sign.SignTests" ,
317
313
},
314
+ "ExtractQuarter database function not supported." : {
315
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_quarter_func" ,
316
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_extract_quarter_func_boundaries" ,
317
+ },
318
+ "TruncDate database function not supported." : {
319
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_func" ,
320
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_date_none" ,
321
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_lookup_name_sql_injection" ,
322
+ "model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_with_use_tz" ,
323
+ "model_fields.test_datetimefield.DateTimeFieldTests.test_lookup_date_without_use_tz" ,
324
+ "timezones.tests.NewDatabaseTests.test_query_convert_timezones" ,
325
+ },
326
+ "TruncTime database function not supported." : {
327
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_time_comparison" ,
328
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_time_func" ,
329
+ "db_functions.datetime.test_extract_trunc.DateFunctionTests.test_trunc_time_none" ,
330
+ },
318
331
"MongoDB can't annotate ($project) a function like PI()." : {
319
332
"db_functions.math.test_pi.PiTests.test" ,
320
333
},
0 commit comments