def save(self, *args, **kwargs):
        now = timezone.now()

        # set Point
        [
            self.set_lat_lng(name, getattr(self, name))
            for name in self.get_all_field_names()
            if isinstance(self._meta.get_field(name), geo.PointField)
        ]

        # create first time record
        if self.created_at is None:
            self.site = Site.objects.get_current()
            self.created_at = now
            self.created_at_timestamp = to_timestamp(self.created_at)
            if self.created_by:
                self.owned_by = self.created_by
                self.owned_at = self.created_at
                self.owned_at_timestamp = self.created_at_timestamp

        # always update
        self.updated_at = now
        self.updated_at_timestamp = to_timestamp(self.updated_at)

        # save the first time record
        instance = super(_BaseAbstract, self).save(*args, **kwargs)

        # generate id62
        if self.id and not self.id62:
            self.id62 = base62_encode(self.id)
            kwargs['force_insert'] = False
            instance = super(_BaseAbstract, self).save(*args, **kwargs)

        return instance
示例#2
0
    def delete(self, user=None, *args, **kwargs):
        if user:
            # mark when the record deleted
            self.deleted_at = timezone.now()
            self.deleted_at_timestamp = to_timestamp(self.deleted_at)
            self.deleted_by = user

            # save it if there's a deleter
            return super(_BaseAbstract, self).save(*args, **kwargs)
    def unpublish(self, user=None, *args, **kwargs):
        if user:
            # mark when the record reovered
            self.published_at = None
            self.published_at_timestamp = None
            self.published_by = None
            self.unpublished_at = timezone.now()
            self.unpublished_at_timestamp = to_timestamp(self.unpublished_at)
            self.unpublished_by = user

            # save it
            return super(_BaseAbstract, self).save(*args, **kwargs)
    def approve(self, user=None, *args, **kwargs):
        if user:
            # mark when the record deleted
            self.unapproved_at = None
            self.unapproved_at_timestamp = None
            self.unapproved_by = None
            self.approved_at = timezone.now()
            self.approved_at_timestamp = to_timestamp(self.approved_at)
            self.approved_by = user

            # save it
            return super(_BaseAbstract, self).save(*args, **kwargs)
 def save(self, *args, **kwargs):
     self.created_at = timezone.now()
     self.created_at_timestamp = to_timestamp(self.created_at)
     return super(Tracker, self).save(*args, **kwargs)
    def read(self, *args, **kwargs):
        self.read_at = timezone.now()
        self.read_at_timestamp = to_timestamp(self.read_at)

        return self.save(*args, **kwargs)
    def save(self, *args, **kwargs):
        self.logged_at = timezone.now()
        self.logged_at_timestamp = to_timestamp(self.logged_at)

        return super(Log, self).save(*args, **kwargs)