dulacp / Accountant

Accounting made accessible for small businesses and sole proprietorships through a simple Django project.
http://accountant-x.herokuapp.com/
MIT License
113 stars 56 forks source link

django.core.exceptions.ValidationError: ["b'{}' is not JSON serializable"] #6

Open svedese opened 6 years ago

svedese commented 6 years ago

I'm trying to install Accountant, when it' time to migrate i get this error:

(accountant) filippo@filippo-Aspire-X3900:~/Scaricati/Accountant$ ./manage.py migrate               
System check identified some issues:

WARNINGS:
books.Organization.members: (fields.W340) null has no effect on ManyToManyField.
Operations to perform:
  Synchronize unmigrated apps: bootstrap3, accounting, djrill, crispy_forms, stronghold, staticfiles, avatar, messages, libs, django_select2, datetimewidget, debug_toolbar, connect, allauth
  Apply all migrations: admin, sessions, people, reports, contenttypes, account, socialaccount, sites, auth, books
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying socialaccount.0002_auto_20150128_2227...Traceback (most recent call last):
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/allauth/socialaccount/fields.py", line 56, in get_prep_value
    return json.dumps(value)
  File "/usr/lib/python3.5/json/__init__.py", line 230, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python3.5/json/encoder.py", line 198, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.5/json/encoder.py", line 256, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python3.5/json/encoder.py", line 179, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: b'{}' is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
    utility.execute()
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/core/management/__init__.py", line 346, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/core/management/base.py", line 394, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/core/management/base.py", line 445, in execute
    output = self.handle(*args, **options)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 222, in handle
    executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/migrations/executor.py", line 110, in migrate
    self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/migrations/executor.py", line 148, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/migrations/migration.py", line 115, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/migrations/operations/fields.py", line 201, in database_forwards
    schema_editor.alter_field(from_model, from_field, to_field)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 484, in alter_field
    old_db_params, new_db_params, strict)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/backends/postgresql_psycopg2/schema.py", line 113, in _alter_field
    new_db_params, strict,
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 566, in _alter_field
    old_default = self.effective_default(old_field)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/backends/base/schema.py", line 211, in effective_default
    default = field.get_db_prep_save(default, self.connection)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 710, in get_db_prep_save
    prepared=False)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 702, in get_db_prep_value
    value = self.get_prep_value(value)
  File "/home/filippo/Scaricati/Accountant/accountant/lib/python3.5/site-packages/allauth/socialaccount/fields.py", line 58, in get_prep_value
    raise ValidationError(str(e))
django.core.exceptions.ValidationError: ["b'{}' is not JSON serializable"]

I have tryied many versions of django-allauth with the same result. That's the output from "pip list":

Package                Version  
---------------------- ---------
Babel                  1.3      
beautifulsoup4         4.6.0    
certifi                2018.1.18
chardet                3.0.4    
click                  6.7      
coverage               3.6      
defusedxml             0.5.0    
dj-database-url        0.3.0    
dj-static              0.0.6    
Django                 1.8.19   
django-accounting      0.2.10   
django-allauth         0.30.0   
django-appconf         1.0.2    
django-avatar          2.0      
django-bootstrap3      4.11.0   
django-bower           5.0.4    
django-classy-tags     0.5.1    
django-crispy-forms    1.4.0    
django-datetime-widget 0.9.3    
django-debug-toolbar   1.3.2    
django-dynamic-fixture 1.7.0    
django-nose            1.4.5    
Django-Select2         4.3.2    
django-stronghold      0.2.9    
django-webtest         1.7.9    
djrill                 2.1.0    
flake8                 3.5.0    
idna                   2.6      
ipdb                   0.8.3    
ipdbplugin             1.5.0    
ipython                1.1.0    
mccabe                 0.6.1    
mock                   1.0.1    
nose                   1.3.7    
npm                    0.1.1    
oauthlib               2.0.6    
optional-django        0.1.0    
ordereddict            1.1      
Pillow                 5.0.0    
pip                    9.0.1    
pkg-resources          0.0.0    
psycopg2               2.5.5    
pycodestyle            2.3.1    
pyflakes               1.6.0    
python-dateutil        2.2      
python-dotenv          0.1.5    
python3-openid         3.1.0    
pytz                   2018.3   
requests               2.18.4   
requests-oauthlib      0.8.0    
setuptools             20.7.0   
six                    1.11.0   
spec                   0.11.3   
sqlparse               0.2.4    
static3                0.7.0    
urllib3                1.22     
waitress               1.1.0    
WebOb                  1.7.4    
WebTest                2.0.12
maxgongio commented 4 years ago

A specific comment on the warning "null has no effect on ManyToManyField."

https://stackoverflow.com/questions/18243039/migrating-manytomanyfield-to-null-true-blank-true-isnt-recognized/18244527