default_key_constructor.py 577 B

123456789101112131415161718
  1. # coding=utf-8
  2. from rest_framework_extensions.key_constructor.bits import ListSqlQueryKeyBit, PaginationKeyBit, RetrieveSqlQueryKeyBit, \
  3. KeyBitBase
  4. from rest_framework_extensions.key_constructor.constructors import DefaultKeyConstructor
  5. from datetime import datetime
  6. from django.core.cache import cache
  7. class UpdatedAtKeyBit(KeyBitBase):
  8. key = "updated_at"
  9. def get_data(self, **kwargs):
  10. value = cache.get(self.key, None)
  11. if not value:
  12. value = datetime.utcnow()
  13. cache.set(self.key, value=value)
  14. return str(value)