<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2011 on John Paulett</title><link>https://www.johnpaulett.com/posts/2011/</link><description>Recent content in 2011 on John Paulett</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 18 Mar 2011 04:12:22 +0000</lastBuildDate><atom:link href="https://www.johnpaulett.com/posts/2011/index.xml" rel="self" type="application/rss+xml"/><item><title>Django 1.3 &amp; South</title><link>https://www.johnpaulett.com/2011/django-13-south/</link><pubDate>Fri, 18 Mar 2011 04:12:22 +0000</pubDate><guid>https://www.johnpaulett.com/2011/django-13-south/</guid><description>&lt;p>Running the latest &lt;a href="http://www.djangoproject.com/weblog/2011/mar/03/13-rc/">Django Release
Candidate&lt;/a>, I
noticed that all of my &lt;a href="http://south.aeracode.org/">South&lt;/a> data
migrations were failing.&lt;/p>
&lt;p>Debugging via &lt;code>pdb&lt;/code> led me to a a recent change in which the database
was being flushed after south ran, but before the tests ran. I found a
changeset that was committed after Django 1.3 beta-1,
&lt;a href="http://code.djangoproject.com/ticket/14661">#14661&lt;/a> that introduced the
flush to correct an issue with MySQL. It is a documented as a &lt;a href="http://docs.djangoproject.com/en/dev/releases/1.3/#use-of-custom-sql-to-load-initial-data-in-tests">backwards
incompatible
change&lt;/a>,
which will prevent SQL fixtures (and unfortunately South data
migrations).&lt;/p></description></item><item><title>django-durationfield v0.3.3</title><link>https://www.johnpaulett.com/2011/django-durationfield-v033/</link><pubDate>Fri, 18 Mar 2011 03:58:45 +0000</pubDate><guid>https://www.johnpaulett.com/2011/django-durationfield-v033/</guid><description>&lt;p>I just released an implementation of &lt;a href="http://django-durationfield.readthedocs.org/">DurationField for
Django&lt;/a> to PyPi.&lt;/p>
&lt;p>The latest release uses &lt;code>datetime.timedelta&lt;/code> for its internal
representation of durations (thanks to &lt;a href="https://github.com/poswald">Paul
Oswald&lt;/a>)) and has support for
&lt;a href="http://south.aeracode.org/">South&lt;/a> thanks to &lt;a href="https://github.com/winhamwr">Wes
Winham&lt;/a>.&lt;/p>
&lt;p>The documentation is now hosted on
&lt;a href="http://django-durationfield.readthedocs.org/">ReadTheDocs&lt;/a> and the
package data is available on &lt;a href="http://djangopackages.com/packages/p/django-durationfield">Django
Packages&lt;/a>.&lt;/p>
&lt;p>After a discussion with a few Django core developers, it seems like
keeping the DurationField implementation as a separate, reusable
application is the preferred option. By staying independent, we keep the
ability to make changes independent of the Django release cycle.
Additionally, we avoid adding bloat to Django-core. Since not all
databases implement an interval or duration data type (PostgreSQL does),
django-durationfield is in some ways a hack by using a &lt;code>bigint&lt;/code> datatype
to store integer instances of &lt;code>timedelta&lt;/code>.&lt;/p></description></item></channel></rss>