pennersr / django-allauth

Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
https://allauth.org
MIT License
9.51k stars 3.03k forks source link

Error 500 when adding a site to socialapp #2522

Closed evgenium closed 4 years ago

evgenium commented 4 years ago

Hi there.

I'm quite new to django and allauth in particular so I'm not sure that issue should go here, but in case it's some allauth bug I'll post it.

Background:

When I uploaded my project files to prod server and try to add site to social app (vk) I got a 500 error. Here's the log:

NO MATCH 2020-04-28 14:26:12,194: Internal Server Error: /admin/socialaccount/socialapp/6/change/ Traceback (most recent call last): File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) psycopg2.errors.SyntaxError: syntax error at or near "ON" LINE 1: ..._sites" ("socialapp_id", "site_id") VALUES (6, 3) ON CONFLIC... ^ NO MATCH NO MATCH The above exception was the direct cause of the following exception: NO MATCH Traceback (most recent call last): File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, callback_kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/options.py", line 607, in wrapper return self.admin_site.admin_view(view)(*args, *kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view response = view_func(request, args, kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 231, in inner return view(request, *args, *kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1641, in change_view return self.changeform_view(request, object_id, form_url, extra_context) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/utils/decorators.py", line 43, in _wrapper return bound_method(args, kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/utils/decorators.py", line 130, in _wrapped_view response = view_func(request, *args, *kwargs) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1522, in changeform_view return self._changeform_view(request, object_id, form_url, extra_context) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1566, in _changeform_view self.save_related(request, form, formsets, not add) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1107, in save_related form.save_m2m() File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/forms/models.py", line 442, in _save_m2m f.save_form_data(self.instance, cleaned_data[f.name]) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/fields/related.py", line 1618, in save_form_data getattr(instance, self.attname).set(data) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 1008, in set self.add(new_objs, through_defaults=through_defaults) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 944, in add self._add_items( File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 1123, in _add_items self.through._default_manager.using(db).bulk_create([ File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/query.py", line 492, in bulk_create returned_columns = self._batched_insert( File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/query.py", line 1230, in _batched_insert self._insert(item, fields=fields, using=self.db, ignore_conflicts=ignore_conflicts) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/query.py", line 1204, in _insert return query.get_compiler(using=using).execute_sql(returning_fields) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1391, in execute_sql cursor.execute(sql, params) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 100, in execute return super().execute(sql, params) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/utils.py", line 90, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/mylogin/.virtualenvs/myproject/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) django.db.utils.ProgrammingError: syntax error at or near "ON" LINE 1: ..._sites" ("socialapp_id", "site_id") VALUES (6, 3) ON CONFLIC...

My site id is actually 3 right now, but with site id's 1 & 2 I got the same error.

I kinda solved the current problem for myself by manually linking site to social app in database, but suppose that's not a model solution.

friedrichatgc commented 4 years ago

I just encountered the same problem and solved it. Django 3 dropped support for Postgres 9.4 (https://docs.djangoproject.com/en/3.0/releases/3.0/#dropped-support-for-postgresql-9-4) and with Postgres >=9.5 is works.

evgenium commented 4 years ago

I just encountered the same problem and solved it. Django 3 dropped support for Postgres 9.4 (https://docs.djangoproject.com/en/3.0/releases/3.0/#dropped-support-for-postgresql-9-4) and with Postgres >=9.5 is works.

Same solution worked for me