创建模型实例时,Django会执行某些操作

AlphaDjango

每当我从模型创建促销代码兑换对象时,我都希望更新其个人资料中的硬币计数。

创建对象时是否有运行方法,以便我可以从促销代码兑换模型更新用户个人资料中的字段?

我尝试使用init(),但不再将参数填充并保存在模型中,而我只是想运行额外的代码,而不是添加自定义字段。

我看到了提到的信号文件,但是通过模型作为方法自动完成会不会更简单?

class Promo_Code_Redemption(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    amount = models.DecimalField(max_digits=9,decimal_places=2)
    date = models.DateTimeField(default=timezone.now)
    code = models.ForeignKey(Promo_Code, on_delete=models.CASCADE)
    code_text = models.TextField()
    revenue_type = "Promo code"

    def __str__(self):
        return self.code.code
阿列克谢·波波夫(Alexey Popov)

您可以覆盖Promo_Code_Redemption save()方法:

# recommended naming convention for 
# class names in python is UpperCaseCamelCase
class Promo_Code_Redemption(models.Model):
    ...
    
    def save(self, *args, **kwargs):
        # you can check if object just created by comparing "pk" attr to None
        # you can also use _state attr see doc link below
        is_created = self.pk is None

        super(Promo_Code_Redemption, self).save(*args, **kwargs)

        if is_created:
            # do something here
            print('is created')



        

型号_state attr

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

django-filer上传会自动创建模型实例

Django - 创建用户时创建模型实例

创建模型实例时在Django中出现TypeError

Django-在创建另一个模型实例时自动创建模型实例

django 测试 - 未创建模型实例

在Django中创建模型实例

在Django中创建模型实例时,如何获取模型的长度

Django:使用内置用户模型字段创建模型实例

创建模型实例时,如何填充ManyToMany字段?

从数组创建模型实例

从方法创建模型实例

大量创建模型实例?

Django:在ValidationError上停止创建模型实例

Django:创建模型时如何更新相关模型字段

在Django中创建模型时自动创建相关对象

创建模型类的实例时,Django获取“ first_name”对于该函数“ TypeError是无效的关键字参数”

在Django中创建模型

更改首选项时,PreferenceActivity会执行某些操作

从CSV创建模型实例时出现“无法分配/必须是实例”错误(与ForeignKey相关)

Django使用表中的'__init__'函数创建模型的新实例,实例数据是错误的?

如何基于另一个模型的实例在Django中创建模型,但已过滤

如何从CSV文件创建模型实例

在保存后创建模型实例

ModelForm不会创建模型实例

如何在由ManyToManyField创建的Django中创建模型的实例对象

django-需要在创建相关的forigenkey模型对象时创建模型对象

Django:如何根据 json 文件中的数据创建模型的实例?

django - 通过遍历所有字段并分配值来创建模型的实例

在用户注册过程中如何创建模型实例?Django的