Как сохранить данные django в модели tow

hi пожалуйста помогите мне у меня есть модель я хочу после создания и сохранения сохранить результат сохранить в основном хранилище как это

store.name == mainstore.name

store.the_rest_of_quantity==mainstore.quantity

я пытаюсь использовать сигналы, но у меня не получается

    class Store(models.Model):
        CHOICES = (
            ('NUM','number'),
            ('M','meter'),
            )
        name                  = models.CharField(max_length=60)
        quantity              = models.PositiveSmallIntegerField (validators=[MinValueValidator(0)],default=0,blank=True,null=True)
        date_of_add           = models.DateTimeField(auto_now_add=True)
        add_new_item          = models.PositiveSmallIntegerField (validators=[MinValueValidator(0)],default=0,blank=True,null=True)
        date_of_remove        = models.DateTimeField(auto_now =True)
        remove_old_item = models.PositiveSmallIntegerField (validators=[MinValueValidator(0)],default=0,blank=True,null=True)
        the_rest_of_quantity = models.PositiveSmallIntegerField (validators=[MinValueValidator(0)],default=0,blank=True,null=True)
        accept_stor           = models.BooleanField(default = False)
        classyfiyed           = models.CharField(max_length=3,choices=CHOICES,blank=True,null=True)
    

        def __str__(self):
            return 'Device Name :( {0} ) Have Quantity({1}) '.format(self.name,self.quantity)
    
        def save(self, *args, **kwargs):
            try:
                totla_sum = sum([self.quantity , self.add_new_item])
                self.the_rest_of_quantity = int(totla_sum - self.remove_old_item)      
            except Expression as identifier:
                'you add remove  bigger than quantity'
            return super().save(*args, **kwargs)


class MainStore(models.Model):
    name         = models.CharField(max_length=120)
    quantity     = models.PositiveIntegerField (null=True,default=0)
    store         = models.OneToOneField(Army,on_delete=models.CASCADE,related_name='Store',null=True)

я использую сигналы для решения этой проблемы

signals.py

@receiver(post_save,sender=Store) def create_store(sender,instance,created,**kwargs): if created: MainStore.objects.get_or_create(Store=instance,name=instance.name,quantity=instance.the_rest_of_quantity) else: obj_store = MainStore.objects.filter(Store=instance) update_store = obj_store.update(name=instance.name,quantity=instance.the_rest_of_quantity) return update_store

apps.py

from django.apps import AppConfig

class StoreConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'Store' def ready(self): import Store.signals

init.py

default_app_config = "Store.apps.StoreConfig"

Вернуться на верх