evennia/docs/6.x/api/evennia.utils.picklefield.html
2026-02-15 19:06:04 +01:00

373 lines
No EOL
35 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.utils.picklefield &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.utils.search" href="evennia.utils.search.html" />
<link rel="prev" title="evennia.utils.optionhandler" href="evennia.utils.optionhandler.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.search.html" title="evennia.utils.search"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.utils.optionhandler.html" title="evennia.utils.optionhandler"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" accesskey="U">evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.picklefield</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.utils.picklefield">
<span id="evennia-utils-picklefield"></span><h1>evennia.utils.picklefield<a class="headerlink" href="#module-evennia.utils.picklefield" title="Link to this heading"></a></h1>
<p>Pickle field implementation for Django.</p>
<p>Modified for Evennia by Griatch and the Evennia community.</p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObject">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">PickledObject</span></span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObject"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObject" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></p>
<p>A subclass of string so it can be told whether a string is a pickled
object or not (if the object is an instance of this class then it must
[well, should] be a pickled one).</p>
<p>Only really useful for passing pre-encoded values to <strong>**default**</strong>
with <strong>**dbsafe_encode**</strong>, not that doing so is necessary. If you
remove PickledObject and its references, you wont be able to pass
in pre-encoded values anymore, but you can always just pass in the
python objects themselves.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.utils.picklefield.wrap_conflictual_object">
<span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">wrap_conflictual_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#wrap_conflictual_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.wrap_conflictual_object" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.utils.picklefield.dbsafe_encode">
<span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">dbsafe_encode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compress_object</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pickle_protocol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#dbsafe_encode"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.dbsafe_encode" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.utils.picklefield.dbsafe_decode">
<span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">dbsafe_decode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compress_object</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#dbsafe_decode"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.dbsafe_decode" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledWidget">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">PickledWidget</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attrs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledWidget"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledWidget" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Textarea</span></code></p>
<p>This is responsible for outputting HTML representing a given field.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledWidget.render">
<span class="sig-name descname"><span class="pre">render</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attrs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">renderer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledWidget.render"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledWidget.render" title="Link to this definition"></a></dt>
<dd><p>Display of the PickledField in django admin</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledWidget.value_from_datadict">
<span class="sig-name descname"><span class="pre">value_from_datadict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledWidget.value_from_datadict"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledWidget.value_from_datadict" title="Link to this definition"></a></dt>
<dd><p>Given a dictionary of data and this widgets name, return the value
of this widget or None if its not provided.</p>
</dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledWidget.media">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">media</span></span><a class="headerlink" href="#evennia.utils.picklefield.PickledWidget.media" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledFormField">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">PickledFormField</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledFormField"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledFormField" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">CharField</span></code></p>
<p>This represents one input field for the form.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledFormField.widget">
<span class="sig-name descname"><span class="pre">widget</span></span><a class="headerlink" href="#evennia.utils.picklefield.PickledFormField.widget" title="Link to this definition"></a></dt>
<dd><p>alias of <a class="reference internal" href="#evennia.utils.picklefield.PickledWidget" title="evennia.utils.picklefield.PickledWidget"><code class="xref py py-class docutils literal notranslate"><span class="pre">PickledWidget</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledFormField.default_error_messages">
<span class="sig-name descname"><span class="pre">default_error_messages</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'invalid':</span> <span class="pre">'This</span> <span class="pre">is</span> <span class="pre">not</span> <span class="pre">a</span> <span class="pre">Python</span> <span class="pre">Literal.</span> <span class="pre">You</span> <span class="pre">can</span> <span class="pre">store</span> <span class="pre">things</span> <span class="pre">like</span> <span class="pre">strings,</span> <span class="pre">integers,</span> <span class="pre">or</span> <span class="pre">floats,</span> <span class="pre">but</span> <span class="pre">you</span> <span class="pre">must</span> <span class="pre">do</span> <span class="pre">it</span> <span class="pre">by</span> <span class="pre">typing</span> <span class="pre">them</span> <span class="pre">as</span> <span class="pre">you</span> <span class="pre">would</span> <span class="pre">type</span> <span class="pre">them</span> <span class="pre">in</span> <span class="pre">the</span> <span class="pre">Python</span> <span class="pre">Interpreter.</span> <span class="pre">For</span> <span class="pre">instance,</span> <span class="pre">strings</span> <span class="pre">must</span> <span class="pre">be</span> <span class="pre">surrounded</span> <span class="pre">by</span> <span class="pre">quote</span> <span class="pre">marks.</span> <span class="pre">We</span> <span class="pre">have</span> <span class="pre">converted</span> <span class="pre">it</span> <span class="pre">to</span> <span class="pre">a</span> <span class="pre">string</span> <span class="pre">for</span> <span class="pre">your</span> <span class="pre">convenience.</span> <span class="pre">If</span> <span class="pre">it</span> <span class="pre">is</span> <span class="pre">acceptable,</span> <span class="pre">please</span> <span class="pre">hit</span> <span class="pre">save</span> <span class="pre">again.',</span> <span class="pre">'required':</span> <span class="pre">'This</span> <span class="pre">field</span> <span class="pre">is</span> <span class="pre">required.'}</span></em><a class="headerlink" href="#evennia.utils.picklefield.PickledFormField.default_error_messages" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledFormField.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledFormField.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledFormField.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledFormField.clean">
<span class="sig-name descname"><span class="pre">clean</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledFormField.clean"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledFormField.clean" title="Link to this definition"></a></dt>
<dd><p>Validate the given value and return its “cleaned” value as an
appropriate Python object. Raise ValidationError for any errors.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.picklefield.</span></span><span class="sig-name descname"><span class="pre">PickledObjectField</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Field</span></code></p>
<p>A field that will accept <em>any</em> python object and store it in the
database. PickledObjectField will optionally compress its values if
declared with the keyword argument <strong>**compress=True**</strong>.</p>
<p>Does not actually encode and compress <strong>**None**</strong> objects (although you
can still do lookups using None). This way, it is still possible to
use the <strong>**isnull**</strong> lookup type correctly.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.get_default">
<span class="sig-name descname"><span class="pre">get_default</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.get_default"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.get_default" title="Link to this definition"></a></dt>
<dd><p>Returns the default value for this field.</p>
<p>The default implementation on models.Field calls force_str
on the default, which means you cant set arbitrary Python
objects as the default. To fix this, we just return the value
without calling force_str on it. Note that if you set a
callable as a default, the field will still call it. It will
<em>not</em> try to pickle and encode it.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.from_db_value">
<span class="sig-name descname"><span class="pre">from_db_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.from_db_value"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.from_db_value" title="Link to this definition"></a></dt>
<dd><p>B64decode and unpickle the object, optionally decompressing it.</p>
<p>If an error is raised in de-pickling and were sure the value is
a definite pickle, the error is allowed to propagate. If we
arent sure if the value is a pickle or not, then we catch the
error and return the original value instead.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.formfield">
<span class="sig-name descname"><span class="pre">formfield</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.formfield"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.formfield" title="Link to this definition"></a></dt>
<dd><p>Return a django.forms.Field instance for this field.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.pre_save">
<span class="sig-name descname"><span class="pre">pre_save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.pre_save"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.pre_save" title="Link to this definition"></a></dt>
<dd><p>Return fields value just before saving.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.get_db_prep_value">
<span class="sig-name descname"><span class="pre">get_db_prep_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">connection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prepared</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.get_db_prep_value"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.get_db_prep_value" title="Link to this definition"></a></dt>
<dd><p>Pickle and b64encode the object, optionally compressing it.</p>
<p>The pickling protocol is specified explicitly (by default 2),
rather than as -1 or HIGHEST_PROTOCOL, because we dont want the
protocol to change over time. If it did, <strong>**exact**</strong> and <strong>**in**</strong>
lookups would likely fail, since pickle would now be generating
a different string.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.value_to_string">
<span class="sig-name descname"><span class="pre">value_to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.value_to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.value_to_string" title="Link to this definition"></a></dt>
<dd><p>Return a string value of this field from the passed obj.
This is used by the serialization framework.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.get_internal_type">
<span class="sig-name descname"><span class="pre">get_internal_type</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.get_internal_type"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.get_internal_type" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.picklefield.PickledObjectField.get_db_prep_lookup">
<span class="sig-name descname"><span class="pre">get_db_prep_lookup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lookup_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">connection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prepared</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/utils/picklefield.html#PickledObjectField.get_db_prep_lookup"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.picklefield.PickledObjectField.get_db_prep_lookup" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.utils.picklefield</a><ul>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObject"><code class="docutils literal notranslate"><span class="pre">PickledObject</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.wrap_conflictual_object"><code class="docutils literal notranslate"><span class="pre">wrap_conflictual_object()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.dbsafe_encode"><code class="docutils literal notranslate"><span class="pre">dbsafe_encode()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.dbsafe_decode"><code class="docutils literal notranslate"><span class="pre">dbsafe_decode()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledWidget"><code class="docutils literal notranslate"><span class="pre">PickledWidget</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledWidget.render"><code class="docutils literal notranslate"><span class="pre">PickledWidget.render()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledWidget.value_from_datadict"><code class="docutils literal notranslate"><span class="pre">PickledWidget.value_from_datadict()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledWidget.media"><code class="docutils literal notranslate"><span class="pre">PickledWidget.media</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledFormField"><code class="docutils literal notranslate"><span class="pre">PickledFormField</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledFormField.widget"><code class="docutils literal notranslate"><span class="pre">PickledFormField.widget</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledFormField.default_error_messages"><code class="docutils literal notranslate"><span class="pre">PickledFormField.default_error_messages</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledFormField.__init__"><code class="docutils literal notranslate"><span class="pre">PickledFormField.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledFormField.clean"><code class="docutils literal notranslate"><span class="pre">PickledFormField.clean()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField"><code class="docutils literal notranslate"><span class="pre">PickledObjectField</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.__init__"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.get_default"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.get_default()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.from_db_value"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.from_db_value()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.formfield"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.formfield()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.pre_save"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.pre_save()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.get_db_prep_value"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.get_db_prep_value()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.value_to_string"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.value_to_string()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.get_internal_type"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.get_internal_type()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.picklefield.PickledObjectField.get_db_prep_lookup"><code class="docutils literal notranslate"><span class="pre">PickledObjectField.get_db_prep_lookup()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.utils.optionhandler.html"
title="previous chapter">evennia.utils.optionhandler</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.utils.search.html"
title="next chapter">evennia.utils.search</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.picklefield.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/6.x/index.html">v6.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.search.html" title="evennia.utils.search"
>next</a> |</li>
<li class="right" >
<a href="evennia.utils.optionhandler.html" title="evennia.utils.optionhandler"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" >evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.picklefield</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>