Skip to content

TypeError when updating model fields #9

@digiplex366

Description

@digiplex366

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions