# Django

  • Django Code of Conduct

  • Django TestCase Transaction Wrapping

    def disable_transaction_methods(): from django.test.testcases import disable_transaction_methods

    <span class="k">for</span> <span class="n">db</span> <span class="ow">in</span> <span class="n">connections</span><span class="p">:</span>
        <span class="n">transaction</span><span class="o">.</span><span class="n">enter_transaction_management</span><span class="p">(</span><span class="n">using</span><span class="o">=</span><span class="n">db</span><span class="p">)</span>
        <span class="n">transaction</span><span class="o">.</span><span class="n">managed</span><span class="p">(</span><span class="bp">True</span><span class="p">,</span> <span class="n">using</span><span class="o">=</span><span class="n">db</span><span class="p">)</span>
    <span class="n">disable_transaction_methods</span><span class="p">(</span><span class="p">)</span>
    

    def restore_transaction_methods(): from django.test.testcases import restore_transaction_methods

    <span class="n">restore_transaction_methods</span><span class="p">(</span><span class="p">)</span>
    <span class="k">for</span> <span class="n">db</span> <span class="ow">in</span> <span class="n">connections</span><span class="p">:</span>
        <span class="n">transaction</span><span class="o">.</span><span class="n">rollback</span><span class="p">(</span><span class="n">using</span><span class="o">=</span><span class="n">db</span><span class="p">)</span>
        <span class="n">transaction</span><span class="o">.</span><span class="n">leave_transaction_management</span><span class="p">(</span><span class="n">using</span><span class="o">=</span><span class="n">db</span><span class="p">)</span><span class="o">&lt;</span><span class="o">/</span><span class="n">pre</span><span class="o">&gt;</span></code></pre></div>
    

    from unittest import TestCase

    class Test(TestCase):

    <span class="nd">@classmethod</span>
    <span class="k">def</span> <span class="nf">class_setup</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span><span class="p">:</span>
        <span class="n">disable_transaction_methods</span><span class="p">(</span><span class="p">)</span>
        <span class="c1"># ... import test fixtures</span>
    
    <span class="nd">@classmethod</span>
    <span class="k">def</span> <span class="nf">class_teardown</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span><span class="p">:</span>
        <span class="n">restore_transaction_methods</span><span class="p">(</span><span class="p">)</span>
    
    <span class="k">def</span> <span class="nf">test_data_attributes</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="p">:</span>
        <span class="c1"># ...</span>
    
    <span class="k">def</span> <span class="nf">test_class_properties</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="p">:</span>
        <span class="c1"># ...</span></code></pre></div>
    
  • gondor.io Initial Thoughts

  • Per Instance Settings in gondor.io

  • Changing auth backend on a live system