<spanid="evennia-utils-dbserialize"></span><h1>evennia.utils.dbserialize<aclass="headerlink"href="#module-evennia.utils.dbserialize"title="Permalink to this headline">¶</a></h1>
<p>This module handles serialization of arbitrary python structural data,
intended primarily to be stored in the database. It also supports
storing Django model instances (which plain pickle cannot do).</p>
<p>This serialization is used internally by the server, notably for
storing data in Attributes and for piping data to process pools.</p>
<p>The purpose of dbserialize is to handle all forms of data. For
well-structured non-arbitrary exchange, such as communicating with a
rich web client, a simpler JSON serialization makes more sense.</p>
<p>This module also implements the <strong>SaverList</strong>, <strong>SaverDict</strong> and <strong>SaverSet</strong>
classes. These are iterables that track their position in a nested
structure and makes sure to send updates up to their root. This is
used by Attributes - without it, one would not be able to update mutables
in-situ, e.g <strong>obj.db.mynestedlist[3][5] = 3</strong> would never be saved and
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">to_pickle</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#to_pickle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.to_pickle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">from_pickle</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em>, <emclass="sig-param"><spanclass="n">db_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#from_pickle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.from_pickle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">do_pickle</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#do_pickle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.do_pickle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">do_unpickle</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#do_unpickle"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.do_unpickle"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">dbserialize</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#dbserialize"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.dbserialize"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.utils.dbserialize.</code><codeclass="sig-name descname">dbunserialize</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em>, <emclass="sig-param"><spanclass="n">db_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/utils/dbserialize.html#dbunserialize"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.utils.dbserialize.dbunserialize"title="Permalink to this definition">¶</a></dt>