Skip to content

Instantly share code, notes, and snippets.

@samirbr
Created January 25, 2016 17:57
Show Gist options
  • Select an option

  • Save samirbr/3d1f73f9d867d11fe665 to your computer and use it in GitHub Desktop.

Select an option

Save samirbr/3d1f73f9d867d11fe665 to your computer and use it in GitHub Desktop.

Revisions

  1. samirbr created this gist Jan 25, 2016.
    14 changes: 14 additions & 0 deletions jsonfield.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    from django.db import models
    import json

    class JSONField(models.TextField):
    def __init__(self, verbose_name=None, name=None, default=None, **kwargs):
    models.TextField.__init__(self, verbose_name, name, **kwargs)

    def to_python(self, value):
    if isinstance(value, six.string_types) or value is None:
    return value
    return json.loads(value)

    def value_to_string(self, obj):
    self.value_from_object(json.dumps(obj))