繁体   English   中英

如何实现django - pre_save和post_save?

[英]How to Implement django - pre_save and post_save?

我已经尝试了很多来实现django的pre_save和post_save,但我仍然无法生成信号。
我有的是:

Class Client(models.Model):
    .
    .
    . # some fields

Class ClientView(models.Model):
    .
    .
    . # some fields
    class Meta:
        managed = False
        db_table = u'clients_view'
        verbose_name = 'Client'
        verbose_name_plural = 'Clients'

    def save(self):
        models.signals.pre_save.send(sender=obj, instance=self)
        obj = Client(**self.obj_to_dict())
        obj.save()
        models.signals.post_save.send(sender=obj, instance=self, created=True)

    def obj_to_dict(self):
        return {'pk': self.pk, 'name': self.name,
                'i_company': self.i_company, 'is_reseller': False}

请告诉我我在哪里做错了?

就像是:

Class ClientView(models.Model):
#...your model definition...

def your_def(sender, instance, created, **kwargs):
        if created:
            client_view = instance
            #.....

post_save.connect(your_def, sender=ClientView)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM