Skip to content

Commit f882641

Browse files
committed
progress
1 parent 583fd97 commit f882641

File tree

5 files changed

+22
-36
lines changed

5 files changed

+22
-36
lines changed

django_mongodb/fields/array.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ class ArrayLenTransform(Transform):
276276
lookup_name = "len"
277277
output_field = IntegerField()
278278

279-
def as_sql(self, compiler, connection):
279+
def as_mql(self, compiler, connection):
280280
lhs, params = compiler.compile(self.lhs)
281281
# Distinguish NULL and empty arrays
282282
return (
@@ -312,7 +312,7 @@ def __init__(self, index, base_field, *args, **kwargs):
312312
self.index = index
313313
self.base_field = base_field
314314

315-
def as_sql(self, compiler, connection):
315+
def as_mql(self, compiler, connection):
316316
lhs, params = compiler.compile(self.lhs)
317317
if not lhs.endswith("]"):
318318
lhs = "(%s)" % lhs
@@ -338,7 +338,7 @@ def __init__(self, start, end, *args, **kwargs):
338338
self.start = start
339339
self.end = end
340340

341-
def as_sql(self, compiler, connection):
341+
def as_mql(self, compiler, connection):
342342
lhs, params = compiler.compile(self.lhs)
343343
if not lhs.endswith("]"):
344344
lhs = "(%s)" % lhs

tests/model_fields_/array_default_migrations/0001_initial.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import django.contrib.postgres.fields
21
from django.db import migrations, models
32

3+
import django_mongodb
4+
45

56
class Migration(migrations.Migration):
67
dependencies = []
@@ -11,7 +12,7 @@ class Migration(migrations.Migration):
1112
fields=[
1213
(
1314
"id",
14-
models.AutoField(
15+
django_mongodb.fields.ObjectIdAutoField(
1516
verbose_name="ID",
1617
serialize=False,
1718
auto_created=True,
@@ -20,7 +21,7 @@ class Migration(migrations.Migration):
2021
),
2122
(
2223
"field",
23-
django.contrib.postgres.fields.ArrayField(models.IntegerField(), size=None),
24+
django_mongodb.fields.ArrayField(models.IntegerField(), size=None),
2425
),
2526
],
2627
options={},
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
import django.contrib.postgres.fields
21
from django.db import migrations, models
32

3+
import django_mongodb
4+
45

56
class Migration(migrations.Migration):
67
dependencies = [
7-
("postgres_tests", "0001_initial"),
8+
("model_fields_", "0001_initial"),
89
]
910

1011
operations = [
1112
migrations.AddField(
1213
model_name="integerarraydefaultmodel",
1314
name="field_2",
14-
field=django.contrib.postgres.fields.ArrayField(
15-
models.IntegerField(), default=[], size=None
16-
),
15+
field=django_mongodb.fields.ArrayField(models.IntegerField(), default=[], size=None),
1716
preserve_default=False,
1817
),
1918
]

tests/model_fields_/array_index_migrations/0001_initial.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import django.contrib.postgres.fields
21
from django.db import migrations, models
32

3+
import django_mongodb
4+
45

56
class Migration(migrations.Migration):
67
dependencies = []
@@ -11,7 +12,7 @@ class Migration(migrations.Migration):
1112
fields=[
1213
(
1314
"id",
14-
models.AutoField(
15+
django_mongodb.fields.ObjectIdAutoField(
1516
verbose_name="ID",
1617
serialize=False,
1718
auto_created=True,
@@ -20,14 +21,14 @@ class Migration(migrations.Migration):
2021
),
2122
(
2223
"char",
23-
django.contrib.postgres.fields.ArrayField(
24+
django_mongodb.fields.ArrayField(
2425
models.CharField(max_length=10), db_index=True, size=100
2526
),
2627
),
2728
("char2", models.CharField(max_length=11, db_index=True)),
2829
(
2930
"text",
30-
django.contrib.postgres.fields.ArrayField(models.TextField(), db_index=True),
31+
django_mongodb.fields.ArrayField(models.TextField(), db_index=True),
3132
),
3233
],
3334
options={},

tests/model_fields_/test_arrayfield.py

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -671,34 +671,19 @@ def test_adding_field_with_default(self):
671671
}
672672
)
673673
def test_adding_arrayfield_with_index(self):
674-
"""
675-
ArrayField shouldn't have varchar_patterns_ops or text_patterns_ops indexes.
676-
"""
677674
table_name = "model_fields__chartextarrayindexmodel"
678675
call_command("migrate", "model_fields_", verbosity=0)
679-
with connection.cursor() as cursor:
680-
like_constraint_columns_list = [
681-
v["columns"]
682-
for k, v in list(
683-
connection.introspection.get_constraints(cursor, table_name).items()
684-
)
685-
if k.endswith("_like")
686-
]
687-
# Only the CharField should have a LIKE index.
688-
self.assertEqual(like_constraint_columns_list, [["char2"]])
689676
# All fields should have regular indexes.
690-
with connection.cursor() as cursor:
691-
indexes = [
692-
c["columns"][0]
693-
for c in connection.introspection.get_constraints(cursor, table_name).values()
694-
if c["index"] and len(c["columns"]) == 1
695-
]
677+
indexes = [
678+
c["columns"][0]
679+
for c in connection.introspection.get_constraints(None, table_name).values()
680+
if c["index"] and len(c["columns"]) == 1
681+
]
696682
self.assertIn("char", indexes)
697683
self.assertIn("char2", indexes)
698684
self.assertIn("text", indexes)
699685
call_command("migrate", "model_fields_", "zero", verbosity=0)
700-
with connection.cursor() as cursor:
701-
self.assertNotIn(table_name, connection.introspection.table_names(cursor))
686+
self.assertNotIn(table_name, connection.introspection.table_names(None))
702687

703688

704689
class TestSerialization(SimpleTestCase):

0 commit comments

Comments
 (0)