I'm trying to switch to django-polymorphic models in my ecommerce project, but found problem with pre-save signals.
When creating new product via Admin I need to fill 'Slug' field of my object with unique value. In non polymorphic version it was implemented by pre save signal from all subclasses of Parent 'Product' model:
for subclass in Product.__subclasses__():
print(subclass)
pre_save.connect(product_pre_save_receiver, sender=subclass)
Now models hierarchy looks following (simplified):
class Product(PolymorphicModel):
title = models.CharField(max_length=120)
class Camera(Product):
serial_number = models.TextField(max_length=20, blank=True, null=True)
Receiver:
def product_pre_save_receiver(sender, instance, *args, **kwargs):
if not instance.slug:
instance.slug = unique_slug_generator(instance)
What is the sender class when creating Polymorphic Child Model instance? Or is any pre_save signal even triggered in django-polymorphic?
I don't receive any signals even when using pre_save.connect without defined sender class.
pre_save.connect(product_pre_save_receiver)
Thanks!