Sophie

Sophie

distrib > Arklinux > devel > i586 > media > main > by-pkgid > 5fcb1fedf34660bc240dc59b7bfcebc4 > files > 418

django-doc-1.2.3-1ark.noarch.rpm


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Django 1.1 beta 1 release notes &mdash; Django v1.2 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '1.2',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Django v1.2 documentation" href="../index.html" />
    <link rel="up" title="Release notes" href="index.html" />
    <link rel="next" title="Django 1.1 alpha 1 release notes" href="1.1-alpha-1.html" />
    <link rel="prev" title="Django 1.1 RC 1 release notes" href="1.1-rc-1.html" />
 
<script type="text/javascript" src="../templatebuiltins.js"></script>
<script type="text/javascript">
(function($) {
    if (!django_template_builtins) {
       // templatebuiltins.js missing, do nothing.
       return;
    }
    $(document).ready(function() {
        // Hyperlink Django template tags and filters
        var base = "../ref/templates/builtins.html";
        if (base == "#") {
            // Special case for builtins.html itself
            base = "";
        }
        // Tags are keywords, class '.k'
        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
             var tagname = $(elem).text();
             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
                 var fragment = tagname.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
             }
        });
        // Filters are functions, class '.nf'
        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
             var filtername = $(elem).text();
             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
                 var fragment = filtername.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
             }
        });
    });
})(jQuery);
</script>

  </head>
  <body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Django v1.2 documentation</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Module index" href="../py-modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="1.1-rc-1.html" title="Django 1.1 RC 1 release notes">previous</a> 
     |
    <a href="index.html" title="Release notes" accesskey="U">up</a>
   |
    <a href="1.1-alpha-1.html" title="Django 1.1 alpha 1 release notes">next</a> &raquo;</div>
    </div>
    
    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="releases-1.1-beta-1">
            
  <div class="section" id="s-django-1-1-beta-1-release-notes">
<span id="django-1-1-beta-1-release-notes"></span><h1>Django 1.1 beta 1 release notes<a class="headerlink" href="#django-1-1-beta-1-release-notes" title="Permalink to this headline">¶</a></h1>
<p>March 23, 2009</p>
<p>Welcome to Django 1.1 beta 1!</p>
<p>This is the second in a series of preview/development releases leading up to
the eventual release of Django 1.1, currently scheduled to take place in April
2009. This release is primarily targeted at developers who are interested in
trying out new features and testing the Django codebase to help identify and
resolve bugs prior to the final 1.1 release.</p>
<p>As such, this release is <em>not</em> intended for production use, and any such use
is discouraged.</p>
<div class="section" id="s-what-s-new-in-django-1-1-beta-1">
<span id="what-s-new-in-django-1-1-beta-1"></span><h2>What&#8217;s new in Django 1.1 beta 1<a class="headerlink" href="#what-s-new-in-django-1-1-beta-1" title="Permalink to this headline">¶</a></h2>
<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last">The <a class="reference internal" href="1.1-alpha-1.html"><em>1.1 alpha release notes</em></a>, which has a
list of everything new between Django 1.0 and Django 1.1 alpha.</p>
</div>
<div class="section" id="s-model-improvements">
<span id="model-improvements"></span><h3>Model improvements<a class="headerlink" href="#model-improvements" title="Permalink to this headline">¶</a></h3>
<p>A number of features have been added to Django&#8217;s model layer:</p>
<div class="section" id="s-unmanaged-models">
<span id="unmanaged-models"></span><h4>&#8220;Unmanaged&#8221; models<a class="headerlink" href="#unmanaged-models" title="Permalink to this headline">¶</a></h4>
<p>You can now control whether or not Django creates database tables for a model
using the <a class="reference internal" href="../ref/models/options.html#django.db.models.Options.managed" title="django.db.models.Options.managed"><tt class="xref py py-attr docutils literal"><span class="pre">managed</span></tt></a> model option. This defaults to <tt class="xref docutils literal"><span class="pre">True</span></tt>,
meaning that Django will create the appropriate database tables in
<a class="reference internal" href="../ref/django-admin.html#django-admin-syncdb"><tt class="xref std std-djadmin docutils literal"><span class="pre">syncdb</span></tt></a> and remove them as part of <a class="reference internal" href="../ref/django-admin.html#django-admin-reset"><tt class="xref std std-djadmin docutils literal"><span class="pre">reset</span></tt></a> command. That
is, Django <em>manages</em> the database table&#8217;s lifecycle.</p>
<p>If you set this to <tt class="xref docutils literal"><span class="pre">False</span></tt>, however, no database table creating or deletion
will be automatically performed for this model. This is useful if the model
represents an existing table or a database view that has been created by some
other means.</p>
<p>For more details, see the documentation for the <a class="reference internal" href="../ref/models/options.html#django.db.models.Options.managed" title="django.db.models.Options.managed"><tt class="xref py py-attr docutils literal"><span class="pre">managed</span></tt></a>
option.</p>
</div>
<div class="section" id="s-proxy-models">
<span id="proxy-models"></span><h4>Proxy models<a class="headerlink" href="#proxy-models" title="Permalink to this headline">¶</a></h4>
<p>You can now create <a class="reference internal" href="../topics/db/models.html#proxy-models"><em>proxy models</em></a>: subclasses of existing
models that only add Python behavior and aren&#8217;t represented by a new table.
That is, the new model is a <em>proxy</em> for some underlying model, which stores
all the real data.</p>
<p>All the details can be found in the <a class="reference internal" href="../topics/db/models.html#proxy-models"><em>proxy models documentation</em></a>. This feature is similar on the surface to unmanaged models,
so the documentation has an explanation of <a class="reference internal" href="../topics/db/models.html#proxy-vs-unmanaged-models"><em>how proxy models differ from
unmanaged models</em></a>.</p>
</div>
<div class="section" id="s-deferred-fields">
<span id="deferred-fields"></span><h4>Deferred fields<a class="headerlink" href="#deferred-fields" title="Permalink to this headline">¶</a></h4>
<p>In some complex situations, your models might contain fields which could
contain a lot of data (for example, large text fields), or require expensive
processing to convert them to Python objects. If you know you don&#8217;t need those
particular fields, you can now tell Django not to retrieve them from the
database.</p>
<p>You&#8217;ll do this with the new queryset methods
<a class="reference internal" href="../ref/models/querysets.html#django.db.models.QuerySet.defer" title="django.db.models.QuerySet.defer"><tt class="xref py py-meth docutils literal"><span class="pre">defer()</span></tt></a> and
<a class="reference internal" href="../ref/models/querysets.html#django.db.models.QuerySet.only" title="django.db.models.QuerySet.only"><tt class="xref py py-meth docutils literal"><span class="pre">only()</span></tt></a>.</p>
</div>
</div>
<div class="section" id="s-new-admin-features">
<span id="new-admin-features"></span><h3>New admin features<a class="headerlink" href="#new-admin-features" title="Permalink to this headline">¶</a></h3>
<p>Since 1.1 alpha, a couple of new features have been added to Django&#8217;s admin
application:</p>
<div class="section" id="s-editable-fields-on-the-change-list">
<span id="editable-fields-on-the-change-list"></span><h4>Editable fields on the change list<a class="headerlink" href="#editable-fields-on-the-change-list" title="Permalink to this headline">¶</a></h4>
<p>You can now make fields editable on the admin list views via the new
<a class="reference internal" href="../ref/contrib/admin/index.html#admin-list-editable"><em>list_editable</em></a> admin option. These fields will show
up as form widgets on the list pages, and can be edited and saved in bulk.</p>
</div>
<div class="section" id="s-admin-actions">
<span id="admin-actions"></span><h4>Admin &#8220;actions&#8221;<a class="headerlink" href="#admin-actions" title="Permalink to this headline">¶</a></h4>
<p>You can now define <a class="reference internal" href="../ref/contrib/admin/actions.html"><em>admin actions</em></a> that can perform
some action to a group of models in bulk. Users will be able to select objects on
the change list page and then apply these bulk actions to all selected objects.</p>
<p>Django ships with one pre-defined admin action to delete a group of objects in
one fell swoop.</p>
</div>
</div>
<div class="section" id="s-testing-improvements">
<span id="testing-improvements"></span><h3>Testing improvements<a class="headerlink" href="#testing-improvements" title="Permalink to this headline">¶</a></h3>
<p>A couple of small but very useful improvements have been made to the
<a class="reference internal" href="../topics/testing.html"><em>testing framework</em></a>:</p>
<ul class="simple">
<li>The test <a class="reference internal" href="../topics/testing.html#django.test.client.Client" title="django.test.client.Client"><tt class="xref py py-class docutils literal"><span class="pre">Client</span></tt></a> now can automatically follow redirects with the
<tt class="docutils literal"><span class="pre">follow</span></tt> argument to <a class="reference internal" href="../topics/testing.html#django.test.client.Client.get" title="django.test.client.Client.get"><tt class="xref py py-meth docutils literal"><span class="pre">Client.get()</span></tt></a> and <a class="reference internal" href="../topics/testing.html#django.test.client.Client.post" title="django.test.client.Client.post"><tt class="xref py py-meth docutils literal"><span class="pre">Client.post()</span></tt></a>. This
makes testing views that issue redirects simpler.</li>
<li>It&#8217;s now easier to get at the template context in the response returned
the test client: you&#8217;ll simply access the context as
<tt class="docutils literal"><span class="pre">request.context[key]</span></tt>. The old way, which treats <tt class="docutils literal"><span class="pre">request.context</span></tt>
as a list of contexts, one for each rendered template, is still
available if you need it.</li>
</ul>
</div>
<div class="section" id="s-conditional-view-processing">
<span id="conditional-view-processing"></span><h3>Conditional view processing<a class="headerlink" href="#conditional-view-processing" title="Permalink to this headline">¶</a></h3>
<p>Django now has much better support for <a class="reference internal" href="../topics/conditional-view-processing.html"><em>conditional view processing</em></a> using the standard <tt class="docutils literal"><span class="pre">ETag</span></tt> and
<tt class="docutils literal"><span class="pre">Last-Modified</span></tt> HTTP headers. This means you can now easily short-circuit
view processing by testing less-expensive conditions. For many views this can
lead to a serious improvement in speed and reduction in bandwidth.</p>
</div>
<div class="section" id="s-other-improvements">
<span id="other-improvements"></span><h3>Other improvements<a class="headerlink" href="#other-improvements" title="Permalink to this headline">¶</a></h3>
<p>Finally, a grab-bag of other neat features made their way into this beta
release, including:</p>
<ul class="simple">
<li>The <a class="reference internal" href="../ref/django-admin.html#django-admin-dumpdata"><tt class="xref std std-djadmin docutils literal"><span class="pre">dumpdata</span></tt></a> management command now accepts individual
model names as arguments, allowing you to export the data just from
particular models.</li>
<li>There&#8217;s a new <a class="reference internal" href="../ref/templates/builtins.html#std:templatefilter-safeseq"><tt class="xref std std-tfilter docutils literal"><span class="pre">safeseq</span></tt></a> template filter which works just like
<a class="reference internal" href="../ref/templates/builtins.html#std:templatefilter-safe"><tt class="xref std std-tfilter docutils literal"><span class="pre">safe</span></tt></a> for lists, marking each item in the list as safe.</li>
<li><a class="reference internal" href="../topics/cache.html"><em>Cache backends</em></a> now support <tt class="docutils literal"><span class="pre">incr()</span></tt> and
<tt class="docutils literal"><span class="pre">decr()</span></tt> commands to increment and decrement the value of a cache key.
On cache backends that support atomic increment/decrement &#8211; most
notably, the memcached backend &#8211; these operations will be atomic, and
quite fast.</li>
<li>Django now can <a class="reference internal" href="../howto/auth-remote-user.html"><em>easily delegate authentication to the web server</em></a> via a new authentication backend that supports
the standard <tt class="docutils literal"><span class="pre">REMOTE_USER</span></tt> environment variable used for this purpose.</li>
<li>There&#8217;s a new <a class="reference internal" href="../topics/http/shortcuts.html#django.shortcuts.redirect" title="django.shortcuts.redirect"><tt class="xref py py-func docutils literal"><span class="pre">django.shortcuts.redirect()</span></tt></a> function that makes it
easier to issue redirects given an object, a view name, or a URL.</li>
<li>The <tt class="docutils literal"><span class="pre">postgresql_psycopg2</span></tt> backend now supports <a class="reference internal" href="../ref/databases.html#postgresql-notes"><em>native PostgreSQL
autocommit</em></a>. This is an advanced, PostgreSQL-specific
feature, that can make certain read-heavy applications a good deal
faster.</li>
</ul>
</div>
</div>
<div class="section" id="s-the-django-1-1-roadmap">
<span id="the-django-1-1-roadmap"></span><h2>The Django 1.1 roadmap<a class="headerlink" href="#the-django-1-1-roadmap" title="Permalink to this headline">¶</a></h2>
<p>Before Django 1.1 goes final, at least one other preview/development release
will be made available. The current schedule consists of at least the
following:</p>
<ul class="simple">
<li>Week of <em>April 2, 2009:</em> Django 1.1 release candidate. At this point all
strings marked for translation must freeze to allow translations to
be submitted in advance of the final release.</li>
<li>Week of <em>April 13, 2009:</em> Django 1.1 final.</li>
</ul>
<p>If deemed necessary, additional beta or release candidate packages will be
issued prior to the final 1.1 release.</p>
</div>
<div class="section" id="s-what-you-can-do-to-help">
<span id="what-you-can-do-to-help"></span><h2>What you can do to help<a class="headerlink" href="#what-you-can-do-to-help" title="Permalink to this headline">¶</a></h2>
<p>In order to provide a high-quality 1.1 release, we need your help. Although this
beta release is, again, <em>not</em> intended for production use, you can help the
Django team by trying out the beta codebase in a safe test environment and
reporting any bugs or issues you encounter. The Django ticket tracker is the
central place to search for open issues:</p>
<ul class="simple">
<li><a class="reference external" href="http://code.djangoproject.com/timeline">http://code.djangoproject.com/timeline</a></li>
</ul>
<p>Please open new tickets if no existing ticket corresponds to a problem you&#8217;re
running into.</p>
<p>Additionally, discussion of Django development, including progress toward the
1.1 release, takes place daily on the django-developers mailing list:</p>
<ul class="simple">
<li><a class="reference external" href="http://groups.google.com/group/django-developers">http://groups.google.com/group/django-developers</a></li>
</ul>
<p>... and in the <tt class="docutils literal"><span class="pre">#django-dev</span></tt> IRC channel on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>. If you&#8217;re
interested in helping out with Django&#8217;s development, feel free to join the
discussions there.</p>
<p>Django&#8217;s online documentation also includes pointers on how to contribute to
Django:</p>
<ul class="simple">
<li><a class="reference internal" href="../internals/contributing.html"><em>How to contribute to Django</em></a></li>
</ul>
<p>Contributions on any level &#8211; developing code, writing documentation or simply
triaging tickets and helping to test proposed bugfixes &#8211; are always welcome and
appreciated.</p>
<p>Development sprints for Django 1.1 will also be taking place at PyCon US 2009,
on the dedicated sprint days (March 30 through April 2), and anyone who wants to
help out is welcome to join in, either in person at PyCon or virtually in the
IRC channel or on the mailing list.</p>
</div>
</div>


          </div>         
        </div>
      </div>
      
        
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Django 1.1 beta 1 release notes</a><ul>
<li><a class="reference internal" href="#what-s-new-in-django-1-1-beta-1">What&#8217;s new in Django 1.1 beta 1</a><ul>
<li><a class="reference internal" href="#model-improvements">Model improvements</a><ul>
<li><a class="reference internal" href="#unmanaged-models">&#8220;Unmanaged&#8221; models</a></li>
<li><a class="reference internal" href="#proxy-models">Proxy models</a></li>
<li><a class="reference internal" href="#deferred-fields">Deferred fields</a></li>
</ul>
</li>
<li><a class="reference internal" href="#new-admin-features">New admin features</a><ul>
<li><a class="reference internal" href="#editable-fields-on-the-change-list">Editable fields on the change list</a></li>
<li><a class="reference internal" href="#admin-actions">Admin &#8220;actions&#8221;</a></li>
</ul>
</li>
<li><a class="reference internal" href="#testing-improvements">Testing improvements</a></li>
<li><a class="reference internal" href="#conditional-view-processing">Conditional view processing</a></li>
<li><a class="reference internal" href="#other-improvements">Other improvements</a></li>
</ul>
</li>
<li><a class="reference internal" href="#the-django-1-1-roadmap">The Django 1.1 roadmap</a></li>
<li><a class="reference internal" href="#what-you-can-do-to-help">What you can do to help</a></li>
</ul>
</li>
</ul>

  <h3>Browse</h3>
  <ul>
    
      <li>Prev: <a href="1.1-rc-1.html">Django 1.1 RC 1 release notes</a></li>
    
    
      <li>Next: <a href="1.1-alpha-1.html">Django 1.1 alpha 1 release notes</a></li>
    
  </ul>
  <h3>You are here:</h3>
  <ul>
      <li>
        <a href="../index.html">Django v1.2 documentation</a>
        
          <ul><li><a href="index.html">Release notes</a>
        
        <ul><li>Django 1.1 beta 1 release notes</li></ul>
        </li></ul>
      </li>
  </ul>  

  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/releases/1.1-beta-1.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" size="18" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">Oct 20, 2010</p>
          </div> 
        
      
    </div>
    
    <div id="ft">
      <div class="nav">
    &laquo; <a href="1.1-rc-1.html" title="Django 1.1 RC 1 release notes">previous</a> 
     |
    <a href="index.html" title="Release notes" accesskey="U">up</a>
   |
    <a href="1.1-alpha-1.html" title="Django 1.1 alpha 1 release notes">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
  </body>
</html>