python类pre_save()的实例源码

password_expiry.py 文件源码 项目:django-useraudit 作者: muccg 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def user_pre_save(sender, instance=None, raw=False, **kwargs):
    user = instance
    attrs = ExpirySettings.get()
    # We're saving the password change date only for existing users
    # Users just created should be taken care of by auto_now_add.
    # This way we can assume that a User profile object already exists
    # for the user. This is essential, because password change detection
    # can happen only in pre_save, in post_save it is too late.
    is_new_user = user.pk is None
    if is_new_user or raw:
        return
    if attrs.date_changed:
        update_date_changed(user, attrs.date_changed)

    # User has been re-activated. Ensure the last_login is set to None so
    # that the user isn't inactivated on next login by the AccountExpiryBackend
    current_user = sender.objects.get(pk=user.pk)
    if not current_user.is_active and user.is_active:
        user.last_login = None
registry.py 文件源码 项目:django-actions-logger 作者: shtalinberg 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __init__(self, create=True, update=True, delete=True, custom=None):
        from actionslog.receivers import action_log_create, action_log_update, action_log_delete

        self._registry = {}
        self._signals = {}

        if create:
            self._signals[post_save] = action_log_create
        if update:
            self._signals[pre_save] = action_log_update
        if delete:
            self._signals[post_delete] = action_log_delete

        if custom is not None:
            self._signals.update(custom)
permalinkable.py 文件源码 项目:core 作者: IntelligentTrading 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def pre_save(self, instance, *args, **kwargs):
    from django.utils.text import slugify
    if not instance.slug:
        instance.slug = slugify(self.slug_source)
signals.py 文件源码 项目:mdb 作者: edb-gjengen 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def update_domain_serial_when_interface_deleted(sender, instance, **kwargs):
    if instance.domain is not None:
        domain = instance.domain
        domain.domain_serial += 1
        domain.save()

    if instance.ip4address is not None:
        subnet = instance.ip4address.subnet
        subnet.domain_serial += 1
        subnet.save()

# @receiver(pre_save, sender=Domain)
# def update_domain_serial_when_domain_is_saved(sender, instance, **kwargs):
#    instance.domain_serial = format_domain_serial_and_add_one(instance.domain_serial)
models.py 文件源码 项目:Shelter 作者: ShelterAssociates 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def update_zipfile(sender, instance, **kwargs):
    """ Delete zip file on pre_save. This is needed in case of updation of 
        zip file, where the older file should be deleted from the location"""
    if instance.pk:
        details = SponsorProjectDetailsSubFields.objects.get(pk=instance.pk)
        if details.zip_file and details.zip_file.url != instance.zip_file.url:
            storage, path = details.zip_file.storage, details.zip_file.path
            storage.delete(path)


问题


面经


文章

微信
公众号

扫码关注公众号