1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<h1 class="pudge-member-page-heading">
<tt>declarative</tt>
</h1>
<h4 class="pudge-member-page-subheading">
Declarative objects.
</h4>
<p class="pudge-member-parent-link">
<small>
The declarative module is accessible via the
<a href="module-sqlobject.html">
<tt>sqlobject</tt>
</a> module.
</small>
</p>
<div id="pudge-section-nav">
<ul>
<li>
<a href="#attributes" class="pudge-section-link">
Attributes (1)
</a>
</li><li>
<span class="pudge-missing-section-link">
Functions
</span>
</li><li>
<a href="#classes" class="pudge-section-link">
Classes (3)
</a>
</li><li>
<span class="pudge-missing-section-link">
Modules
</span>
</li>
<li>
<a href="module-sqlobject.declarative-index.html" class="pudge-section-link">
Index
</a>
</li>
<li>
<a href="sqlobject/declarative.py.html" class="pudge-section-link">
Source
</a>
</li>
</ul>
</div>
<div style="clear: left"></div>
<div class="rst pudge-module-doc">
<p>Declarative objects have a simple protocol: you can use classes in
lieu of instances and they are equivalent, and any keyword arguments
you give to the constructor will override those instance variables.
(So if a class is received, we'll simply instantiate an instance with
no arguments).</p>
<p>You can provide a variable __unpackargs__ (a list of strings), and if
the constructor is called with non-keyword arguments they will be
interpreted as the given keyword arguments.</p>
<p>If __unpackargs__ is ('*', name), then all the arguments will be put
in a variable by that name.</p>
<p>You can define a __classinit__(cls, new_attrs) method, which will be
called when the class is created (including subclasses). Note: you
can't use super() in __classinit__ because the class isn't bound to a
name. As an analog to __classinit__, Declarative adds
__instanceinit__ which is called with the same argument (new_attrs).
This is like __init__, but after __unpackargs__ and other factors have
been taken into account.</p>
<p>If __mutableattributes__ is defined as a sequence of strings, these
attributes will not be shared between superclasses and their
subclasses. E.g., if you have a class variable that contains a list
and you append to that list, changes to subclasses will effect
superclasses unless you add the attribute here.</p>
<p>Also defines classinstancemethod, which acts as either a class method
or an instance method depending on where it is called.</p>
</div>
<hr>
<a name="attributes"></a>
<h2>Attributes</h2>
<div class="pudge-member name">
<a name="__package__"></a>
<h4 class="pudge-member-name"><span class="prefix">a</span>
<tt><a href="module-sqlobject.declarative.html#__package__" class="pudge-obj-link">__package__</a></tt></h4>
<div class="pudge-section rst">
<pre>'sqlobject'</pre>
</div>
</div>
<a name="classes"></a>
<h2>Classes</h2>
<div class="pudge-member class ">
<h4 class="pudge-member-name"><span class="prefix">C</span>
<tt>
<a href="class-sqlobject.declarative.classinstancemethod.html" class="pudge-obj-link">classinstancemethod</a>(...)</tt>
<a href="sqlobject/declarative.py.html?f=45&l=58#45" class="pudge-member-view-source" title="View Source">...</a>
</h4>
<div class="pudge-section rst">
<p class="pudge-member-blurb">
Acts like a class method when called from a class, like an
instance method when called by an instance. The method should
take two arguments, 'self' and 'cls'; one of these will be None
depending on how the method was called.
</p>
<p class="note">
This class contains <a href="class-sqlobject.declarative.classinstancemethod.html#members">
5 members</a>.
</p>
</div>
</div><div class="pudge-member class ">
<h4 class="pudge-member-name"><span class="prefix">C</span>
<tt>
<a href="class-sqlobject.declarative.DeclarativeMeta.html" class="pudge-obj-link">DeclarativeMeta</a>(...)</tt>
<a href="sqlobject/declarative.py.html?f=82&l=102#82" class="pudge-member-view-source" title="View Source">...</a>
</h4>
<div class="pudge-section rst">
<p class="note">
This class contains <a href="class-sqlobject.declarative.DeclarativeMeta.html#members">
23 members</a>.
</p>
</div>
</div><div class="pudge-member class ">
<h4 class="pudge-member-name"><span class="prefix">C</span>
<tt>
<a href="class-sqlobject.declarative.Declarative.html" class="pudge-obj-link">Declarative</a>(...)</tt>
<a href="sqlobject/declarative.py.html?f=104&l=206#104" class="pudge-member-view-source" title="View Source">...</a>
</h4>
<div class="pudge-section rst">
<p class="note">
This class contains <a href="class-sqlobject.declarative.Declarative.html#members">
12 members</a>.
</p>
</div>
</div>
<p>
<small>
See
<a href="sqlobject/declarative.py.html" title="sqlobject/declarative.py:0">the source</a>
for more information.
</small>
</p>
|