Skip to content

Commit ba393fe

Browse files
committed
Added test for arrays with Django
1 parent 7887a34 commit ba393fe

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

tests/test_django.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import django
22
from django.conf import settings
3+
from django.contrib.postgres.fields import ArrayField
34
from django.core import serializers
45
from django.db import connection, migrations, models
56
from django.db.models import Avg, Sum
@@ -46,6 +47,7 @@ class Item(models.Model):
4647
half_embedding = HalfVectorField(dimensions=3, null=True, blank=True)
4748
binary_embedding = BitField(length=3, null=True, blank=True)
4849
sparse_embedding = SparseVectorField(dimensions=3, null=True, blank=True)
50+
embeddings = ArrayField(VectorField(dimensions=3), null=True, blank=True)
4951

5052
class Meta:
5153
app_label = 'django_app'
@@ -82,6 +84,7 @@ class Migration(migrations.Migration):
8284
('half_embedding', pgvector.django.HalfVectorField(dimensions=3, null=True, blank=True)),
8385
('binary_embedding', pgvector.django.BitField(length=3, null=True, blank=True)),
8486
('sparse_embedding', pgvector.django.SparseVectorField(dimensions=3, null=True, blank=True)),
87+
('embeddings', ArrayField(pgvector.django.VectorField(dimensions=3), null=True, blank=True)),
8588
],
8689
),
8790
migrations.AddIndex(
@@ -433,3 +436,9 @@ def test_missing(self):
433436
assert Item.objects.first().half_embedding is None
434437
assert Item.objects.first().binary_embedding is None
435438
assert Item.objects.first().sparse_embedding is None
439+
440+
def test_vector_array(self):
441+
Item(id=1, embeddings=[np.array([1, 2, 3]), np.array([4, 5, 6])]).save()
442+
443+
# this fails if the driver does not cast arrays
444+
# item = Item.objects.get(pk=1)

0 commit comments

Comments
 (0)