How do I convert a Django QuerySet into list of dicts?

前端 未结 9 597
臣服心动
臣服心动 2020-12-02 07:28

How can I convert a Django QuerySet into a list of dicts? I haven\'t found an answer to this so I\'m wondering if I\'m missing some sort of common helper function that every

9条回答
  •  醉梦人生
    2020-12-02 07:54

    The .values() method will return you a result of type ValuesQuerySet which is typically what you need in most cases.

    But if you wish, you could turn ValuesQuerySet into a native Python list using Python list comprehension as illustrated in the example below.

    result = Blog.objects.values()             # return ValuesQuerySet object
    list_result = [entry for entry in result]  # converts ValuesQuerySet into Python list
    return list_result
    

    I find the above helps if you are writing unit tests and need to assert that the expected return value of a function matches the actual return value, in which case both expected_result and actual_result must be of the same type (e.g. dictionary).

    actual_result = some_function()
    expected_result = {
        # dictionary content here ...
    }
    assert expected_result == actual_result
    

提交回复
热议问题