
import json

from django import template
from django.core import serializers
from django.db.models.query import QuerySet
from django.forms.models import model_to_dict

register = template.Library()

@register.filter( is_safe=True )
def jsonify(object):
    # if isinstance(object, ValuesListQuerySet):
    #     return json.dumps(list(object))
    if isinstance(object, QuerySet):
        return json.loads(serializers.serialize('json', object, is_list=True))
    
    dict_obj = model_to_dict(object)
    if object.media :
        dict_obj["media"] = model_to_dict(object.media)
        dict_obj["media"]["original_file"] = model_to_dict(object.media.original_file)
    # print(json.dumps(dict_obj))
    return json.dumps(dict_obj)
    # if object.origin_media:
    #     return serializers.serialize('json', [ object, ])
    # return json.dumps(object)
    # return serializers.serialize('json', [ object, ])



