title: Django ChoiceArrayField: how to set a default value
body: <p>In the context of Django2.0 and the admin part,
  if the database backend is PostgreSQL;</p>
  
  <p>Is it possible to specify "NULL" as the column of a field by default ?</p>
  
  <p>For example, </p>
  
  <pre><code>class ChoiceArrayField(ArrayField):
  
      def formfield(self, **kwargs):
          defaults = {
              'form_class': forms.MultipleChoiceField,
              'choices': self.base_field.choices,
          }
          defaults.update(kwargs)
          return super(ArrayField, self).formfield(**defaults)
  </code></pre>
  
  <p>And the model field is:</p>
  
  <pre><code>capabilities = ChoiceArrayField(base_field=models.CharField(max_length=64, choices=PEER_CAPS, blank=True, null=True), default=list)
  </code></pre>
  
  <p>where </p>
  
  <pre><code>PEER_CAPS = (
      ("",                "None"),
      ("blackholing",     "blackholing"),
      ("irrguard",        "irrguard"),
  )
  </code></pre>
  
  <p>Right now, the default is "None", but it saves the value <code>""</code> because it needs an iterable, so I cannot have a variable with value equal to None. This is just fine for the admin web app. </p>
  
  <p>BUT before I save it to the database I would like to set capabilities to be NULL or an empty list (since the corresponding table in PostgreSQL is an <code>array</code>)</p>
  
  <p>Is that possible ?</p>