Fabricの0.9.2から、 Django Integration という機能があるようです。

これを使うと、FabricからDjangoのコードを呼ぶことができます。

先日紹介した factory_boy と組み合わせると:

    # -*- coding: utf-8 -*-
    from fabric.api import task
    from fabric.contrib import django

    # Djangoのコードのimportの前にこれを書く
    django.project('fabric_django')
    from example.factories import BookFactory


    @task()
    def generate_books():
        for i in range(10):
            BookFactory()

これでWeb上の動作確認をするためのデータを生成することもできます。

今まで、私はこういったことをやるために、Djangoのコマンドを自作していたのですが、こちらの方が簡単に書けそうでいいですね。