You should use an object wide validation (validate()), since validate_date will never be called since date is not a field on the serializer. From the documentation:
xxxxxxxxxx
class MySerializer(serializers.ModelSerializer):
def validate(self, data):
"""
Check that the start is before the stop.
"""
if data['start_date'] > data['end_date']:
raise serializers.ValidationError("finish must occur after start")
return data