<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Denormalizing Model Abstraction in Django</title>
	<atom:link href="http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html</link>
	<description>A blog about Django, JavaScript, CSS, and general web development.</description>
	<lastBuildDate>Fri, 12 Mar 2010 19:46:01 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Thierry Schellenbach</title>
		<link>http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html/comment-page-1#comment-20598</link>
		<dc:creator>Thierry Schellenbach</dc:creator>
		<pubDate>Fri, 02 Jan 2009 23:07:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/?p=402#comment-20598</guid>
		<description>Well we actually use Sql alchemy, which makes it very easy to achieve. Running two orms is sometimes annoying overhead though.</description>
		<content:encoded><![CDATA[<p>Well we actually use Sql alchemy, which makes it very easy to achieve. Running two orms is sometimes annoying overhead though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Hellmann</title>
		<link>http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html/comment-page-1#comment-20592</link>
		<dc:creator>Doug Hellmann</dc:creator>
		<pubDate>Wed, 31 Dec 2008 00:10:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/?p=402#comment-20592</guid>
		<description>We solved a similar problem using actual plugins and then delegating method implementations instead of trying to get fancy with subclasses.  The primary class has core behaviors and knows how to find a plugin based on a name.  The plugin is a separate object, instantiated by the primary class and invoked as part of the implementation of certain methods.</description>
		<content:encoded><![CDATA[<p>We solved a similar problem using actual plugins and then delegating method implementations instead of trying to get fancy with subclasses.  The primary class has core behaviors and knows how to find a plugin based on a name.  The plugin is a separate object, instantiated by the primary class and invoked as part of the implementation of certain methods.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jj</title>
		<link>http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html/comment-page-1#comment-20591</link>
		<dc:creator>Jj</dc:creator>
		<pubDate>Tue, 30 Dec 2008 23:46:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/?p=402#comment-20591</guid>
		<description>This is too powerful to fall on untrained hands...

I agree about the TemplateModel, it made me think of Django Templates</description>
		<content:encoded><![CDATA[<p>This is too powerful to fall on untrained hands&#8230;</p>
<p>I agree about the TemplateModel, it made me think of Django Templates</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rock Howard</title>
		<link>http://www.davidcramer.net/code/402/denormalizing-model-abstraction-in-django.html/comment-page-1#comment-20590</link>
		<dc:creator>Rock Howard</dc:creator>
		<pubDate>Tue, 30 Dec 2008 12:12:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/?p=402#comment-20590</guid>
		<description>This an interesting way to solve this problem, but I balk at the use of the term &quot;denormalization&quot; to describe what is going on. That word sets up expectations about the problem we are trying to solve that is at odds with what this mechanism actually provides.

I am searching for a better word and the closest I have come up with so far is &quot;thunking&quot; as the mechanism is akin to actualizing virtual function calling properties for Django models. (Also the implementation mechanism is sufficiently low-level to deserve the &quot;thunking&quot; label.) But I will bet that someone can suggest an even better name for this particular mechanism. Ideally it would be a fairly unique name so that searches can find it easily.

I am also looking forward to seeing if some other Django expert can suggest a cleaner and simpler way to implement a solution for this particular use case that offers the same power and flexibility. I wouldn&#039;t be surprised if the answer is no.

One final note - I also balk a bit at the use of the term TemplateModel as that term overloads the word Template in the Django context. I suggest ExtensibleBaseModel instead.</description>
		<content:encoded><![CDATA[<p>This an interesting way to solve this problem, but I balk at the use of the term &#8220;denormalization&#8221; to describe what is going on. That word sets up expectations about the problem we are trying to solve that is at odds with what this mechanism actually provides.</p>
<p>I am searching for a better word and the closest I have come up with so far is &#8220;thunking&#8221; as the mechanism is akin to actualizing virtual function calling properties for Django models. (Also the implementation mechanism is sufficiently low-level to deserve the &#8220;thunking&#8221; label.) But I will bet that someone can suggest an even better name for this particular mechanism. Ideally it would be a fairly unique name so that searches can find it easily.</p>
<p>I am also looking forward to seeing if some other Django expert can suggest a cleaner and simpler way to implement a solution for this particular use case that offers the same power and flexibility. I wouldn&#8217;t be surprised if the answer is no.</p>
<p>One final note &#8211; I also balk a bit at the use of the term TemplateModel as that term overloads the word Template in the Django context. I suggest ExtensibleBaseModel instead.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
