<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>treibsand.com &#187; JSON</title>
	<atom:link href="http://www.treibsand.com/tag/json/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.treibsand.com</link>
	<description></description>
	<lastBuildDate>Tue, 27 Dec 2011 12:46:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Mit Django Datenbank Tabellen ändern</title>
		<link>http://www.treibsand.com/2008/04/17/mit-django-datenbank-tabellen-andern/</link>
		<comments>http://www.treibsand.com/2008/04/17/mit-django-datenbank-tabellen-andern/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 15:40:30 +0000</pubDate>
		<dc:creator>Toast</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://test.treibsand.com/?p=139</guid>
		<description><![CDATA[&#8230;geht leider nicht. Ist ein Datenbank Model einmal definiert, lässt es sich nicht ohne Umwege erweitern. Ruby on Rails ist da schon ein Stück weiter. Das Problem lässt sich aber mit einem kleinen Trick lösen. Mit Django hat man die Möglichkeit die komplette Datenbank serialisiert zu dumpen und anschliesend wieder zu laden. Die Vorgehensweise ist [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;geht leider nicht. Ist ein Datenbank Model einmal definiert, lässt es sich nicht ohne Umwege erweitern. Ruby on Rails ist da schon ein Stück weiter.</p>
<p><span id="more-139"></span><br />
Das Problem lässt sich aber mit einem kleinen Trick lösen. Mit Django hat man die Möglichkeit die komplette Datenbank serialisiert zu dumpen und anschliesend wieder zu laden. Die Vorgehensweise ist einfach, einen Dump vom Model bzw. der ganzen Datenbank machen, Model um die gewünschten Felder erweitern, DB Tabellen löschen, Tabellen mit syncdb neu anlegen und den Dump wieder einspielen.</p>
<p>Die komplette Datenbank kann mit</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python manage.py dumpdata <span style="color: #000000; font-weight: bold;">&gt;</span> mydump.json</pre></div></div>

<p>gedumpt werden. Einzelne Models mit</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python manage.py dumpdata MyModel <span style="color: #000000; font-weight: bold;">&gt;</span> mydump.json</pre></div></div>

<p>Das importieren des Dumps geht wie folgt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python manage.py loaddata mydump.json</pre></div></div>

<p>Will man aber z.B. eine Anwendung mit initialen Daten versorgen, dann kann das mit Fixtures gemacht werden. Hierfür ist ein Eintrag in der Settings Datei notwendig.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">FIXTURE_DIRS = <span style="color: black;">&#40;</span>
        <span style="color: #483d8b;">'/absoluter/pfad/zum/fixtures/verzeichnis'</span>,
<span style="color: black;">&#41;</span></pre></div></div>

<p>Liegt nun in diesem Verzeichnis eine Datei mit der Endung json, dann wird diese automatisch beim syncdb geladen und importiert. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.treibsand.com/2008/04/17/mit-django-datenbank-tabellen-andern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mit Django JSON ausliefern</title>
		<link>http://www.treibsand.com/2008/02/14/django_json/</link>
		<comments>http://www.treibsand.com/2008/02/14/django_json/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 14:50:27 +0000</pubDate>
		<dc:creator>Toast</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://test.treibsand.com/?p=85</guid>
		<description><![CDATA[Dank den neuen JavaScript Frameworks wie z.B. Prototype und MochiKit ist es mittlerweile ziemlich einfach dynamische Webinhalte mit AJAX zu machen. Doch die Daten müssen erstmal in die passende Form gebracht werden, um verarbeitet werden zu können. Eine Möglichkeit ist JSON (JavaScript Object Notation). Dank Djano kann das auch sehr einfach werden. Um zum Beispiel [...]]]></description>
			<content:encoded><![CDATA[<p>Dank den neuen JavaScript Frameworks wie z.B. Prototype und MochiKit ist es mittlerweile ziemlich einfach dynamische Webinhalte mit AJAX zu machen. </p>
<p><span id="more-85"></span><br />
Doch die Daten müssen erstmal in die passende Form gebracht werden, um verarbeitet werden zu können. Eine Möglichkeit ist JSON (JavaScript Object Notation).</p>
<p>Dank Djano kann das auch sehr einfach werden. Um zum Beispiel alle Einträge aus den Feldern &#8220;name&#8221; und &#8220;size&#8221; einer Tabelle mit JSON bereitzustellen reicht folgender Code aus:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> someproject.<span style="color: black;">someapp</span>.<span style="color: black;">models</span> <span style="color: #ff7700;font-weight:bold;">import</span> SomeModel
<span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">http</span> <span style="color: #ff7700;font-weight:bold;">import</span> HttpResponse
<span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">core</span> <span style="color: #ff7700;font-weight:bold;">import</span> serializers
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> json<span style="color: black;">&#40;</span>request,<span style="color: black;">&#41;</span>:
  data = serializers.<span style="color: black;">serialize</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'json'</span>, SomeModel.<span style="color: black;">objects</span>.<span style="color: #008000;">all</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, fields=<span style="color: black;">&#40;</span><span style="color: #483d8b;">'name'</span>,<span style="color: #483d8b;">'size'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
  <span style="color: #ff7700;font-weight:bold;">return</span> HttpResponse<span style="color: black;">&#40;</span>data, mimetype=<span style="color: #483d8b;">&quot;text/plain&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Und schon kann man per URL JSON Daten abfragen. Happy coding! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.treibsand.com/2008/02/14/django_json/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

