diff --git a/program/models.py b/program/models.py
index ae330a3d9bb28b5b2ecc3321a44434eb8efc3678..b9a0b3b5c056e4bcab52b8073657c79b9c815084 100644
--- a/program/models.py
+++ b/program/models.py
@@ -1,23 +1,20 @@
-# -*- coding: utf-8 -*-
+from datetime import date, datetime, time, timedelta
 
+from dateutil.relativedelta import relativedelta
+from dateutil.rrule import rrule
 from django.contrib.auth.models import User
 from django.core.exceptions import ObjectDoesNotExist, ValidationError, MultipleObjectsReturned
-from django.urls import reverse
 from django.db import models
 from django.db.models import Q
 from django.forms.models import model_to_dict
+from django.urls import reverse
+from django.utils import timezone
 from django.utils.translation import ugettext_lazy as _
-from versatileimagefield.fields import VersatileImageField, PPOIField
-
 from tinymce import models as tinymce_models
-
-from datetime import date, datetime, time, timedelta
-from dateutil.relativedelta import relativedelta
-from dateutil.rrule import rrule
-
-from .utils import get_automation_id_choices
+from versatileimagefield.fields import VersatileImageField, PPOIField
 
 from pv.settings import THUMBNAIL_SIZES, AUTO_SET_UNTIL_DATE_TO_END_OF_YEAR, AUTO_SET_UNTIL_DATE_TO_DAYS_IN_FUTURE
+from .utils import get_automation_id_choices
 
 
 class Type(models.Model):
@@ -277,7 +274,7 @@ class Host(models.Model):
         return reverse('host-detail', args=[str(self.id)])
 
     def active_shows(self):
-        return self.shows.filter(schedules__until__gt=datetime.today())
+        return self.shows.filter(schedules__until__gt=timezone.now())
 
     def is_editable(self, host_id):
         """
@@ -449,8 +446,8 @@ class Schedule(models.Model):
         dstart = datetime.strptime(str(sdl['dstart']), '%Y-%m-%d').date()
 
         # Schedule mustn't start in the past when adding
-        if pk is None and dstart < datetime.today().date():
-            dstart = datetime.today().date()
+        if pk is None and dstart < timezone.now().date():
+            dstart = timezone.now().date()
 
         tstart = sdl['tstart'] + ':00' if len(str(sdl['tstart'])) == 5 else sdl['tstart']
         tend = sdl['tend'] + ':00' if len(str(sdl['tend'])) == 5 else sdl['tend']
@@ -465,7 +462,7 @@ class Schedule(models.Model):
             # Set it to the end of the year
             # Or add x days
             if AUTO_SET_UNTIL_DATE_TO_END_OF_YEAR:
-                now = datetime.now()
+                now = timezone.now()
                 until = datetime.strptime(str(now.year) + '-12-31', '%Y-%m-%d').date()
             else:
                 until = dstart + timedelta(days=+AUTO_SET_UNTIL_DATE_TO_DAYS_IN_FUTURE)
@@ -847,7 +844,7 @@ class Schedule(models.Model):
         for ts in conflicts['projected']:
 
             # Ignore past dates
-            if datetime.strptime(ts['start'], "%Y-%m-%d %H:%M:%S") <= datetime.today():
+            if datetime.strptime(ts['start'], "%Y-%m-%d %H:%M:%S") <= timezone.now():
                 continue
 
             # If no solution necessary
@@ -1080,16 +1077,16 @@ class TimeSlotManager(models.Manager):
     @staticmethod
     def get_or_create_current():
         try:
-            return TimeSlot.objects.get(start__lte=datetime.now(), end__gt=datetime.now())
+            return TimeSlot.objects.get(start__lte=timezone.now(), end__gt=timezone.now())
         except MultipleObjectsReturned:
-            return TimeSlot.objects.filter(start__lte=datetime.now(), end__gt=datetime.now())[0]
+            return TimeSlot.objects.filter(start__lte=timezone.now(), end__gt=timezone.now())[0]
         except ObjectDoesNotExist:
             once = RRule.objects.get(pk=1)
             today = date.today().weekday()
             default = Show.objects.get(pk=1)
 
-            previous_timeslot = TimeSlot.objects.filter(end__lte=datetime.now()).order_by('-start')[0]
-            next_timeslot = TimeSlot.objects.filter(start__gte=datetime.now())[0]
+            previous_timeslot = TimeSlot.objects.filter(end__lte=timezone.now()).order_by('-start')[0]
+            next_timeslot = TimeSlot.objects.filter(start__gte=timezone.now())[0]
 
             dstart, tstart = previous_timeslot.end.date(), previous_timeslot.end.time()
             until, tend = next_timeslot.start.date(), next_timeslot.start.time()