I am trying to create custom validation for a model, to check that its `start_date` is before its `end_date` and it is proving near impossible.

Stuff I've tried:

* built-in Django validators: none check for this
* writing my own, like so:

```
def validate_date(self):
   if self.start_date < self.end_date:
        raise serializers.ValidationError("End date must be after start date.")

```

That bit of code I have added to the Serializer class (and then the model), but it does not seem to get called in either location.

I also found [this](https://stackoverflow.com/questions/26119672/django-rest-framework-field-level-validation-in-serializer) bit of code that might be of use, but I don't know how to integrate in my method- it seems that it would work to validate one model attribute, but I need to check between two attributes.

My model:

```
class MyModel(models.Model):

    created = models.DateTimeField(auto_now_add=True)
    relation_model = models.ForeignKey(RelationModel, related_name="mymodels")
    priority = models.IntegerField(
        validators = [validators.MinValueValidator(0), validators.MaxValueValidator(100)])
    start_date = models.DateField()
end_date = models.DateField()

    @property
    def is_active(self):
        today = datetime.date.today()
        return (today >= self.start_date) and (today <= self.end_date)

    def __unicode__(self):
        ...

    class Meta:
        unique_together = ('relation_model', 'priority', 'start_date', 'end_date')

```

Fyi, all the other validations work!

My serializer:

```
class MyModelSerializer(serializers.ModelSerializer):

    relation_model = RelationModelSerializer
    is_active = serializers.Field(source='is_active')

    def validate_date(self):
        if self.start_date > self.end_date:
            raise serializers.ValidationError("End date must be after start date.")   

    class Meta:
        model = MyModel
        fields = (
            'id', 'relation_model', 'priority', 'start_date', 'end_date', 'is_active'
        )

```

My view:

```
class MyModelList(generics.ListCreateAPIView):
    permission_classes = (IsAdminUser,)
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer
    ordering = ('priority')

```