예제 #1
0
 def _detach_signals(self):
     '''
     Detach all signals for eav
     '''
     post_init.disconnect(Registry.attach_eav_attr, sender=self.model_cls)
     pre_save.disconnect(Entity.pre_save_handler, sender=self.model_cls)
     post_save.disconnect(Entity.post_save_handler, sender=self.model_cls)
예제 #2
0
def disconnect_signals():
    post_init.disconnect(post_init_treenode, dispatch_uid='post_init_treenode')
    post_migrate.disconnect(post_migrate_treenode,
                            dispatch_uid='post_migrate_treenode')
    post_save.disconnect(post_save_treenode, dispatch_uid='post_save_treenode')
    post_delete.disconnect(post_delete_treenode,
                           dispatch_uid='post_delete_treenode')
예제 #3
0
 def _detach_signals(self):
     '''
     Detach all signals for eav
     '''
     post_init.disconnect(Registry.attach_eav_attr, sender=self.model_cls)
     pre_save.disconnect(Entity.pre_save_handler, sender=self.model_cls)
     post_save.disconnect(Entity.post_save_handler, sender=self.model_cls)
예제 #4
0
 def __exit__(self, exc_type, exc_val, exc_tb):
     post_init.disconnect(self.post_init_handler)
     for clean_mock in self.clean_mocks:
         if clean_mock.clean_called:
             self.called_cleans.append(clean_mock)
         else:
             self.missing_cleans.append(clean_mock)
예제 #5
0
 def _detach_signals(self):
     '''
     Detach all signals for eav
     '''
     post_init.disconnect(Registry.attach_eav_attr, sender=self.model_cls)
     pre_save.disconnect(getattr(self.config_cls.entity_class, 'pre_save_handler'), sender=self.model_cls)
     post_save.disconnect(getattr(self.config_cls.entity_class, 'post_save_handler'), sender=self.model_cls)
예제 #6
0
def disable():
    """
    Disconnects the tracking signals, and so disables tracking.
    """
    post_init.disconnect(dispatch_uid=_dispatch_uid(post_init_receiver))
    post_save.disconnect(dispatch_uid=_dispatch_uid(post_save_receiver))
    m2m_changed.disconnect(dispatch_uid=_dispatch_uid(m2m_changed_receiver))
    post_delete.disconnect(dispatch_uid=_dispatch_uid(post_delete_receiver))
예제 #7
0
    def test_lazy(self):
        inc = _make_inc()

        from django.db.models.signals import post_init
        post_init.connect(inc, sender=Category)

        qs = Category.objects.cache()
        for c in qs.iterator():
            break
        self.assertEqual(inc.get(), 1)

        post_init.disconnect(inc)
예제 #8
0
    def test_lazy(self):
        inc = _make_inc()

        from django.db.models.signals import post_init
        post_init.connect(inc, sender=Category)

        qs = Category.objects.cache()
        for c in qs.iterator():
            break
        self.assertEqual(inc.get(), 1)

        post_init.disconnect(inc)
예제 #9
0
 def unregister(self, model_class):
     """Removes a model from version control."""
     try:
         registration_info = self._registry.pop(model_class)
     except KeyError:
         raise RegistrationError, "%r has not been registered with " \
                                  "Reversion." % model_class
     else:
         for field in registration_info.file_fields:
             field.storage = field.storage.wrapped_storage
         post_save.disconnect(self.post_save_receiver, model_class)
         pre_delete.disconnect(self.pre_delete_receiver, model_class)
         pre_save.disconnect(self.pre_save_receiver, model_class)
         post_init.disconnect(self.post_init_receiver, model_class)
예제 #10
0
 def teardown_handlers(self):
     for model in self.get_models():
         post_init.disconnect(self.handle_instance_inited, sender=model)
예제 #11
0
 def _disconnect(self, sender=None):
     post_init.disconnect(self._track, sender=sender)
     pre_save.disconnect(self._check_pres, sender=sender)
     post_save.disconnect(self._check_posts, sender=sender)
     pre_delete.disconnect(self._check_pred, sender=sender)
     post_delete.disconnect(self._check_postd, sender=sender)
예제 #12
0
 def __del__(self):
     post_init.disconnect(self.bug_post_init_handler, Bug)
     post_save.disconnect(self.bug_post_save_handler, Bug)
예제 #13
0
 def detach_signals(self, model_cls):
     """Detach all signals for eav"""
     entity_cls = model_cls._eav_config.entity_cls
     post_init.disconnect(self.attach_eav_attr, sender=model_cls)
     pre_save.disconnect(entity_cls.pre_save_handler, sender=model_cls)
     post_save.disconnect(entity_cls.post_save_handler, sender=model_cls)
예제 #14
0
             *args,
             **kwargs):
        if compute_palette:
            self.compute_color_palette()
        if compute_dimensions:
            self.get_cover_dimensions()
        super().save(*args, **kwargs)

    class Meta:
        verbose_name = "réalisation"
        ordering = ['-pin', '-added']


# Needed to fix a hudge performance issue related to S3 storage.
# Work model implements its own logic to access cover dimensions.
post_init.disconnect(ImageField.update_dimension_fields)


class Category(Model):
    id = AutoField(primary_key=True, verbose_name="numéro")
    name = CharField(max_length=64, verbose_name="nom")
    slug = SlugField(verbose_name="identifiant")

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('portfolio:main', kwargs={'cat_slug': self.slug})

    class Meta:
        verbose_name = "catégorie"