1. Skip to navigation
  2. Skip to content

Entries tagged “qsrf”

This Week in Django 18 - 2008-04-13

written by Michael Trier, on Apr 15, 2008 12:17:00 AM.

This Week in Django is a weekly podcast about all things Django.

This week we talk about Google App Engine, some changes to the QuerySet Refactor branch, the documentation refactor sprint, some cool projects from the community, the Tip of the Week, and a question from the IRC.

Please see the Show Notes below for all the pertinent information and links

Downloads

AAC Enhanced Podcast (31.0 MB, 52:51, AAC)

MP3 Edition (36.3 MB, 52:51, MP3)

OGG Edition (29.0 MB, 52:51, Vorbis)

The Enhanced Podcast version contains screenshots and easy access links to all of the items we discuss throughout the podcast.

Feeds Available

iTunes Feeds are available. By subscribing using the iTunes feeds the podcasts will automatically be downloaded for you when we release them.

iTunes Feeds

This Week in Django – AAC Edition

This Week in Django – MP3 Edition

Regular RSS Feeds

This Week in Django – AAC Edition

This Week in Django – MP3 Edition

This Week in Django – OGG Edition

Give Us Feedback

Want to give us some feedback on the show? We’re always looking for ideas or suggestions that will help improve each episode. Please contact us at feedback __at__ thisweekindjango.com.

Show Notes

Big News (1:23)

Tracking Trunk (14:55)

Branching & Merging (16:40)

Community Catchup (24:14)

  • Django Plugables – Django site to be a centralized repository for django projects.
    • Lessons LearnedEric Florenzano posted an excellent post in relation to the Django Plugables release and his own community project, Django Apps. He prefaces the post with an great quote by George S. Patton, “A good plan, violently executed now, is better than a perfect plan next week.”
  • DjangoBot / DjangoPeople Integration – Simon Willison and Brian Rosner teamed up to provide a two way integration with the two services. DjangoBot now will report back to DjangoPeople.net when you are active in any of the Django related channels it lives in. This all goes without saying that it can be turned off in your privacy settings on DjangoPeople.net. This will only occur if you have a DjangoPeople.net account AND have given your IRC handle. You will be notified the first time the bot sees you and begins tracking you with a Private Message.

Tip of the Week (44:41)

Calling the delete method on a related object deletes the many side objects too, but does not call the delete method on the many side. There is an easy way to accomplish the same thing using signals.

  • Ticket 6565 – discusses this issue and the solution.

class B(models.Model):
    a = models.ForeignKey(A)

    def pre_delete(self):
        print 'deleting b'

def delete_b(sender, instance, signal, *args, **kwargs):
    instance.pre_delete()

dispatcher.connect(delete_b, signal=signals.pre_delete, sender=B)

IRC Ad Nauseam (48:38)

Django IRC FAQ

Backwards Incompatible Changes Information

“I setup my static media according the documentation. The admin is showing up properly but none of my own stylesheets or images are being served.”

You likely have the ADMIN_MEDIA_PREFIX set to the same thing as your MEDIA_URL setting.

Thank You! (51:15)

Model-Inheritance in the Queryset-Refactor Branch

written by Michael Trier, on Feb 17, 2008 4:39:00 PM.

So it appears that while we have all been whimpering about missing inheritance functionality in Django models, Malcolm Tredinnick has been extremely busy getting it implemented. Changeset 7126 adds two very cool pieces to Django’s model options: abstract base classes and model inheritance. According to the docs, model inheritance exists in two varieties:

  • abstract base classes which are a way of specifying common information inherited by the subclasses. They don’t exist as a separate model.
  • non-abstract base classes (the default), which are models in their own right with their own database tables and everything. Their subclasses have references back to them, created automatically.

I will not describe them in full because that’s been done so well in the documentation changes as part of the changeset.