Skip to main content

Configuring Hosts for Appointments

To specify the list of model classes that can act as hosts for appointments, the hosts configuration can be defined within the AppointmentView class. This configuration determines the types of hosts allowed for appointments.

class AppointmentView(AppointmentBaseView):
hosts = [NurseModel]

In the above configuration:

  • NurseModel: Represents the model class for nurses who can act as hosts for appointments.

By setting the hosts configuration with the NurseModel, the appointment system will recognize NurseModel instances as hosts for appointments within the application.

Overriding get_hosts Function to Filter Hosts

In the AppointmentView class, the get_hosts function can be customized to filter and retrieve hosts based on the specified host model classes. This function fetches hosts from the defined model classes and can be adapted to apply specific filtering criteria if needed.

class AppointmentView(AppointmentBaseView):
hosts = [NurseModel]

def get_hosts(self):
'''
This method contains logic for getting hosts based on the variable hosts.
In case some changes are required, this method can be overridden.
'''
host_values = []

for model in self.hosts:
objects = model.objects.all()
object_values = [(str(obj.object_uuid), obj.__str__()) for obj in objects]
host_values += object_values

return host_values

Explanation:

  • The overridden get_hosts function loops through the specified host model classes.
  • It retrieves all objects related to each host model class.
  • It captures necessary information (like object UUID and display name) from each object and adds them to the host_values list.
  • Finally, the function returns the list of host values, enabling customization and filtering based on the specified host model classes.