<?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>Django foo &#187; post_save</title>
	<atom:link href="http://www.djangofoo.com/tag/post_save/feed" rel="self" type="application/rss+xml" />
	<link>http://www.djangofoo.com</link>
	<description>Django Tips and Tweaks</description>
	<lastBuildDate>Wed, 18 Aug 2010 09:38:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Connect/Disconnect django signals</title>
		<link>http://www.djangofoo.com/85/signal-connect-disconnect-django-signals</link>
		<comments>http://www.djangofoo.com/85/signal-connect-disconnect-django-signals#comments</comments>
		<pubDate>Wed, 24 Feb 2010 21:17:17 +0000</pubDate>
		<dc:creator>Davo</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[connect disconnect]]></category>
		<category><![CDATA[post_delete]]></category>
		<category><![CDATA[post_save]]></category>
		<category><![CDATA[pre_delete]]></category>
		<category><![CDATA[pre_save]]></category>
		<category><![CDATA[signals]]></category>

		<guid isPermaLink="false">http://www.djangofoo.com/?p=85</guid>
		<description><![CDATA[Django signals allow to bind a function to a specific event. There are 4 major signals available: pre_save() ( before saving ) post_save() ( after saving ) pre_delete() ( before deleting ) post_delete() ( after deleting ) A simple example of connecting a signal: # in models.py from django.db.models.signals import post_save from myapp.models import MyModel [...]]]></description>
			<content:encoded><![CDATA[<p>Django <a href="http://docs.djangoproject.com/en/dev/topics/signals/" target="_new"><strong>signals</strong></a> allow to bind a function to a specific event.</p>
<p>There are 4 major signals available:</p>
<ul>
<li><strong>pre_save()</strong> ( before saving )</li>
<li><strong>post_save()</strong> ( after saving )</li>
<li><strong>pre_delete()</strong> ( before deleting )</li>
<li><strong>post_delete()</strong> ( after deleting )</li>
</ul>
<p>A simple example of <strong>connecting</strong> a signal:</p>
<pre class="brush:python">
# in models.py
from django.db.models.signals import post_save
from myapp.models import MyModel

def do_something(sender, **kwargs):
    # the object which is saved can be accessed via kwargs 'instance' key.
    obj = kwargs['instance']
    print 'the object is now saved.'
    # ...do something else...

# here we connect a post_save signal for MyModel
# in other terms whenever an instance of MyModel is saved
# the 'do_something' function will be called.
post_save.connect(do_something, sender=MyModel)
</pre>
<p>If you need to <strong>disconnect/detach</strong> a signal:</p>
<pre class="brush: python">
# instead of connect() we call disconnect()
post_save.disconnect(do_something, sender=MyModel)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.djangofoo.com/85/signal-connect-disconnect-django-signals/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

