Jump to >

djblets.util.serializers

Utilities for serializing content.

class DjbletsJSONEncoder(strip_datetime_ms=True, *args, **kwargs)[source]

Bases: django.core.serializers.json.DjangoJSONEncoder

A JSON encoder that supports lazy strings, datetimes, and other objects.

This is a specialization of DjangoJSONEncoder the does the following:

  • Evaluates strings translated with ugettext_lazy() or gettext_lazy() to real strings.
  • Removes the milliseconds and microseconds from datetimes (unless setting strip_datetime_ms=False when constructing the encoder). This is to help keep timestamps from appearing too new when compared against data coming from a MySQL database (which historically, and by default, chops off milliseconds).
  • Serializes Django models with a to_json method via that method.
__init__(strip_datetime_ms=True, *args, **kwargs)[source]

Initialize the encoder.

Parameters:strip_datetime_ms (bool, optional) – Determines whether milliseconds should be stripped from a datetime. This is True by default, to preserve the old behavior of the encoder.
default(obj)[source]

Encode the object into a JSON-compatible structure.

Parameters:obj (object) – The object to encode.
Returns:A JSON-compatible structure (e.g., a dict, list, py:class:unicode, or bytes object).
Return type:object