+
+ if self.period == 0:
+ episodes_queryset = episodes_queryset.extra(
+ select={ 'first_diffusion': 'emissions_diffusion.datetime', },
+ select_params=(False, True),
+ where=['''datetime = (SELECT MIN(datetime) FROM emissions_diffusion
+ WHERE episode_id = emissions_episode.id)'''],
+ tables=['emissions_diffusion'])
+ elif self.period == 1:
+ episodes_queryset = episodes_queryset.extra(
+ select={ 'first_diffusion': 'emissions_diffusion.datetime', },
+ select_params=(False, True),
+ where=['''datetime = (SELECT MIN(datetime) FROM emissions_diffusion
+ WHERE episode_id = emissions_episode.id AND
+ emissions_diffusion.datetime >= CURRENT_TIMESTAMP)'''],
+ tables=['emissions_diffusion'])
+ elif self.period == 2:
+ episodes_queryset = episodes_queryset.extra(
+ select={ 'first_diffusion': 'emissions_diffusion.datetime', },
+ select_params=(False, True),
+ where=['''datetime = (SELECT MIN(datetime) FROM emissions_diffusion
+ WHERE episode_id = emissions_episode.id AND
+ emissions_diffusion.datetime < CURRENT_TIMESTAMP)'''],
+ tables=['emissions_diffusion'])
+