title: Django - dynamic fields in Admin form
body: <p>I want to make some advanced customization of Django admin form.</p>
  
  <p>While editing an object, I want to show, dynamically, different fields depending of 1 obj field (they are not visible while adding the obj.). There can be a situation, to validate that extra fields. For example, when object has a 'temporary' type, I must show 2 fields with dates, and validate them. If object is 'renewable' I need to show 2 different fields with different validation. I've searched a lot of pages, but nowhere found 1 strict method.</p>
  
  <p>What is the best approach to do that?</p>
  
  <ul>
  <li>Make separate <code>Form</code> for each object type and set form attrib of <code>ModelAdmin</code>? If yes, in which <code>ModelAdmin</code> method do that (<code>change_view()</code>?)?</li>
  <li>Dynamically update <a href="https://docs.djangoproject.com/en/1.3/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fields" rel="nofollow">fields</a> in <code>get_form()</code> method?</li>
  </ul>
  
  <p>What is the best approach to do that?</p>