beachmachine / django-jython

Database backends and extensions for Django development on top of Jython.
BSD 3-Clause "New" or "Revised" License
21 stars 7 forks source link

TypeError when updating model fields #9

Open digiplex366 opened 8 years ago

digiplex366 commented 8 years ago

I am receiving a TypeError: 'org.postgresql.util.PGobject' object is not iterable when trying to update fields in one of our models. This works fine with regular Django, but errors out when trying to integrate it with Jython.

This error seems to go away when I remove the GenericIPAddressField (not sure if this is related) in the model.

c = Collector.objects.get(pk=10) c.save() Traceback (most recent call last): File "", line 1, in File "/home/appfirst/common/common_models/collector.py", line 640, in save super(Collector, self).save() File "/opt/jython/Lib/site-packages/django/db/models/base.py", line 709, in save self.save_base(using=using, force_insert=force_insert, File "/opt/jython/Lib/site-packages/django/db/models/base.py", line 738, in save_base updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) File "/opt/jython/Lib/site-packages/django/db/models/base.py", line 802, in _save_table updated = self._do_update(base_qs, using, pk_val, values, update_fields, File "/opt/jython/Lib/site-packages/django/db/models/base.py", line 853, in _do_update return filtered._update(values) > 0 File "/opt/jython/Lib/site-packages/django/db/models/query.py", line 580, in _update return query.get_compiler(self.db).execute_sql(CURSOR) File "/opt/jython/Lib/site-packages/django/db/models/sql/compiler.py", line 1062, in execute_sql cursor = super(SQLUpdateCompiler, self).execute_sql(result_type) File "/opt/jython/Lib/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql sql, params = self.as_sql() File "/opt/jython/Lib/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql sql, params = self.as_sql() File "/opt/jython/Lib/site-packages/django/db/models/sql/compiler.py", line 1030, in as_sql val = field.get_db_prep_save(val, connection=self.connection) File "/opt/jython/Lib/site-packages/django/db/models/fields/init.py", line 709, in get_db_prep_save return self.get_db_prep_value(value, connection=connection, File "/opt/jython/Lib/site-packages/django/db/models/fields/init.py", line 2003, in get_db_prep_value value = self.get_prep_value(value) File "/opt/jython/Lib/site-packages/django/db/models/fields/init.py", line 2010, in get_prep_value if value and ':' in value: TypeError: 'org.postgresql.util.PGobject' object is not iterable