Question: How to do something like this:

```
class Example(models.Model):
    name = models.CharField(max_length=255)
    alt_name = models.TextField()

    class Meta:
        blank_together = ('name', 'alt_name') #?!

```

EDIT: This is similar to `unique_together`. When a field is filled, the user has to fill both.

Answer: 
Below is an implementation of a `mixin` that accomplishes this. 

```
# your_app/mixins.py

class BlankAble(models.Model):
    # when creating the BlankAble class object it will add a __blank_together__ 
    # attribute corresponding to the same in {YourModel}.MyMeta.blank_together
    def __new__(cls, *args, **kwargs):
        new = super().__new__(cls)
        if hasattr(cls, 'MyMeta'):
            if hasattr(cls.MyMeta, 'blank_together'):
                setattr(new, '__blank_together__', cls.MyMeta.blank_together)
        return new

    def save(self, *args, **kwargs):
        # returns False if any but not all of the __blank_together__ fields 
        # are not blank
        blank_together = not (any([getattr(self, field, None) for field in getattr(self, '__blank_together__', None)]) and \
                              not all([getattr(self, field, None) for field in getattr(self, '__blank_together__', None)]))
        if not blank_together:
            raise ValidationError(f"{getattr(self, '__blank_together__', None)} must all be blank together.")
        return super().save(*args, **kwargs)

    class Meta:
        # prevents Django from having some bad behavior surrounding
        # inheritance of models that are not explicitly abstract
        abstract = True

# your_app/models.py    

class TestModel(BlankAble, models.Model):

    test_field1 = models.CharField(blank=True, null=True, max_length=25)
    test_field2 = models.CharField(blank=True, null=True, max_length=25)
    test_field3 = models.CharField(blank=True, null=True, max_length=25)

    class MyMeta:
        blank_together = ('test_field1', 'test_field2')

```

If you are interested in learning more about `mixins` I highly recommend Two Scoops of Django's take on the subject.
You can try, save method;

```
   def save(self,*args, **kwargs):
      if self.name == '' or self.alt_name == '':
         self.name = ''
         self.alt_name = ''
      super(Example, self).save(*args, **kwargs)

```