<div dir="ltr"><br clear="all"><div>Hi guys,<br>I developed a custom GeoNode Project implementing a M:M relationship on the ResourceBase table<br><br>Here the steps:<br><br>1) model creation of the new table<br><br>class DomainArea(models.Model):<br>    identifier = models.CharField('Domain Area name', max_length=255, unique=True)<br>    description = models.TextField(default='')<br>    gn_description = models.TextField(<br>        'GeoNode description', default='', null=True)<br>    is_choice = models.BooleanField(default=True)<br><br>    def __unicode__(self):<br>        return u"{0}".format(self.gn_description)<br><br>    class Meta:<br>        ordering = ("identifier",)<br>        verbose_name_plural = 'Domain Areas'<br><br>2) add the relation between the ResourceBase table and the new created table<br><br>        domainarea = models.ManyToManyField(<br>            DomainArea,<br>            related_name='resourcebase_domainarea',<br>            blank=True)<br>        ResourceBase.add_to_class('domain_area', domainarea)<br><br>3) Add the function to handle the new value in the admin panel<br><br>        admin.site.register(DomainArea)<br><br>All the steps work good, Django creates the new table with all the relationship and I can handle via admin panel both values and associations between domain areas and Layers/Docs/Maps.<br><br>The problem is when I modify these values.<br><br>After the first association, all the updates go wrong (timeout, even with a very long timeout set).  <br> <br>This is the error message:<br><br>*******<br>Traceback:<br><br>File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner<br>  41.             response = get_response(request)<br><br>File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response<br>  249.             response = self._get_response(request)<br><br>File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response<br>  187.                 response = self.process_exception_by_middleware(e, request)<br><br>File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response<br>  185.                 response = wrapped_callback(request, callback_args, *callback_kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper<br>  552.                 return self.admin_site.admin_view(view)(*args, **kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view<br>  149.                     response = view_func(request, args, *kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func<br>  57.         response = view_func(request, args, *kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner<br>  224.             return view(request, args, *kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in change_view<br>  1512.         return self.changeform_view(request, object_id, form_url, extra_context)<br><br>File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper<br>  67.             return bound_func(*args, **kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view<br>  149.                     response = view_func(request, args, *kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func<br>  63.                 return func.__get__(self, type(self))(*args2, **kwargs2)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in changeform_view<br>  1409.             return self._changeform_view(request, object_id, form_url, extra_context)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in _changeform_view<br>  1449.                 self.save_model(request, new_object, form, not add)<br><br>File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in save_model<br>  980.         obj.save()<br><br>File "/usr/local/lib/python2.7/site-packages/polymorphic/models.py" in save<br>  83.         return super(PolymorphicModel, self).save(*args, **kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save<br>  808.                        force_update=force_update, update_fields=update_fields)<br><br>File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base<br>  848.                 update_fields=update_fields, raw=raw, using=using,<br><br>File "/usr/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py" in send<br>  193.             for receiver in self._live_receivers(sender)<br><br>File "/usr/local/lib/python2.7/site-packages/geonode/decorators.py" in wrapper<br>  53.                 return func(*args, **kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/geonode/geoserver/signals.py" in geoserver_post_save<br>  85.         producer.geoserver_upload_layer(payload)<br><br>File "/usr/local/lib/python2.7/site-packages/geonode/messaging/producer.py" in sync_if_local_memory<br>  71.                 worker.run(timeout=broker_socket_timeout)<br><br>File "/usr/local/lib/python2.7/site-packages/kombu/mixins.py" in run<br>  170.                     for _ in self.consume(limit=None, **kwargs):<br><br>File "/usr/local/lib/python2.7/site-packages/kombu/mixins.py" in consume<br>  192.                     conn.drain_events(timeout=safety_interval)<br><br>File "/usr/local/lib/python2.7/site-packages/kombu/connection.py" in drain_events<br>  315.         return self.transport.drain_events(self.connection, **kwargs)<br><br>File "/usr/local/lib/python2.7/site-packages/kombu/transport/virtual/base.py" in drain_events<br>  966.                     raise socket.timeout()<br>*****<br><br>Any help will be greatly appreciated<br><br>Thanks in advance<br></div><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div></div></div></div>