Closed jerinpetergeorge closed 1 year ago
Hey @jerinpetergeorge, thanks for the PR! Can confirm format_value
fixes the text input value. What error and stack trace are you seeing without the has_changed
override?
Hey @jerinpetergeorge, thanks for the PR! Can confirm
format_value
fixes the text input value. What error and stack trace are you seeing without thehas_changed
override?
Internal Server Error: /admin/polls/vector/4/change/
Traceback (most recent call last):
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 688, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
response = view_func(request, *args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/views/decorators/cache.py", line 62, in _wrapper_view_func
response = view_func(request, *args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 242, in inner
return view(request, *args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1889, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 46, in _wrapper
return bound_method(*args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
response = view_func(request, *args, **kwargs)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1747, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1800, in _changeform_view
change_message = self.construct_change_message(
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1186, in construct_change_message
return construct_change_message(form, formsets, add)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/contrib/admin/utils.py", line 530, in construct_change_message
changed_data = form.changed_data
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/utils/functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/jpg/.virtualenvs/generic-django-example-Kc6WXfau/lib/python3.9/site-packages/django/forms/forms.py", line 487, in changed_data
if changed:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
https://github.com/pgvector/pgvector-python/assets/21334929/61e1d404-47e9-42b5-9066-91c4e09e3d41
Thanks @jerinpetergeorge, which version of Django is it?
Thanks @jerinpetergeorge, which version of Django is it?
Its 4.2.x @ankane
Hmm, what's the exact version? I'm not able to reproduce, or find that stack trace in any of the 4.2.x releases.
Hmm, what's the exact version? I'm not able to reproduce, or find that stack trace in any of the 4.2.x releases.
Just checked, its Django==4.2.2
.
This is my complete requirements if required
amqp==5.1.1
asgiref==3.7.1
asttokens==2.2.1
async-timeout==4.0.2
attrs==23.1.0
backcall==0.2.0
billiard==3.6.4.0
black==23.3.0
cachetools==5.3.1
celery==5.2.7
certifi==2023.5.7
cffi==1.15.1
cfgv==3.3.1
chardet==5.1.0
charset-normalizer==3.1.0
click==8.1.3
click-didyoumean==0.3.0
click-plugins==1.1.1
click-repl==0.2.0
colorama==0.4.6
coreapi==2.3.3
coreschema==0.0.4
coverage==7.2.7
cryptography==40.0.2
decorator==5.1.1
defusedxml==0.7.1
distlib==0.3.6
Django==4.2.2
django-allauth==0.54.0
django-crispy-forms==2.0
django-dbbackup==4.0.2
django-debug-toolbar==4.0.0
django-dev-superuser @ git+https://github.com/jerinpetergeorge/django-dev-superuser.git@f792f96a227116247196a26c670e58fb34712071
django-environ==0.10.0
django-extensions==3.2.1
djangorestframework==3.14.0
djangorestframework-simplejwt==5.2.2
drf-spectacular==0.26.4
drf-yasg==1.21.5
exceptiongroup==1.1.1
executing==1.2.0
factory-boy==3.2.1
Faker==18.9.0
filelock==3.12.0
flake8==6.0.0
flake8-print==5.0.0
graphql-core==3.2.3
gunicorn==20.1.0
identify==2.5.24
idna==3.4
inflection==0.5.1
iniconfig==2.0.0
ipython==8.14.0
isort==5.12.0
itypes==1.2.0
jedi==0.18.2
Jinja2==3.1.2
jsonschema==4.17.3
kombu==5.2.4
MarkupSafe==2.1.2
matplotlib-inline==0.1.6
mccabe==0.7.0
mypy-extensions==1.0.0
mysqlclient==2.1.1
nodeenv==1.8.0
numpy==1.25.1
oauthlib==3.2.2
packaging==23.1
parso==0.8.3
pathspec==0.11.1
pexpect==4.8.0
pgvector==0.1.8
pickleshare==0.7.5
Pillow==9.5.0
platformdirs==3.5.1
pluggy==1.0.0
pre-commit==3.3.2
prompt-toolkit==3.0.38
psycopg2==2.9.6
ptyprocess==0.7.0
pure-eval==0.2.2
pycodestyle==2.10.0
pycparser==2.21
pyflakes==3.0.1
Pygments==2.15.1
PyJWT==2.7.0
pyproject_api==1.5.1
pyrsistent==0.19.3
pytest==7.3.1
pytest-django==4.5.2
python-dateutil==2.8.2
python3-openid==3.2.0
pytz==2023.3
PyYAML==6.0
redis==4.5.5
requests==2.31.0
requests-oauthlib==1.3.1
ruamel.yaml==0.17.26
ruamel.yaml.clib==0.2.7
six==1.16.0
sqlparse==0.4.4
stack-data==0.6.2
strawberry-graphql==0.176.4
strawberry-graphql-django==0.9.4
tomli==2.0.1
tox==4.6.0
traitlets==5.9.0
typing_extensions==4.6.1
uritemplate==4.1.1
urllib3==2.0.2
vine==5.0.0
virtualenv==20.23.0
wcwidth==0.2.6
whitenoise==5.2.0
I also see this behavior with Django 4.2.3.
Unfortunately, I'm still not able to reproduce with a fresh Django app. Happy to include the changes without the has_changed
override until that's figured out.
Could also try to reproduce with a test case. For instance, the format_value
override fixes https://github.com/pgvector/pgvector-python/blob/4ea06c041fdfdd67568401ce215f9b3b3143d29f/tests/test_django.py#L148
Unfortunately, I'm still not able to reproduce with a fresh Django app. Happy to include the changes without the
has_changed
override until that's figured out.Could also try to reproduce with a test case. For instance, the
format_value
override fixes
I have made a few changes to this PR, thus, if you run the test suite against jerinpetergeorge:django-admin
branch, you will get the errors. Also, all tests will be passed if you remove the this commit.
Awesome, thanks @jerinpetergeorge! Squashed and pushed in 557983b36b147e21fc298ae65c8ddae5d142ff63.
I've been away for a few weeks and am just now catching up on notifications. I can confirm that the fix works. Thank you both, @ankane and @jerinpetergeorge for getting the fix in and published so quickly!
Fixes #21 (or enhances the support for Django admin)