'Return a list of fixture directories.
The list contains the \'fixtures\' subdirectory of each installed
application, if it exists, the directories in FIXTURE_DIRS, and the
current directory.'

@cached_property
def fixture_dirs(self):

    dirs = []
    fixture_dirs = settings.FIXTURE_DIRS
    if (len(fixture_dirs) != len(set(fixture_dirs))):
        raise ImproperlyConfigured('settings.FIXTURE_DIRS    contains    duplicates.')
    for app_config in apps.get_app_configs():
        app_label = app_config.label
        app_dir = os.path.join(app_config.path, 'fixtures')
        if (app_dir in fixture_dirs):
            raise ImproperlyConfigured(("'%s'    is    a    default    fixture    directory    for    the    '%s'    app    and    cannot    be    listed    in    settings.FIXTURE_DIRS." % (app_dir, app_label)))
        if (self.app_label and (app_label != self.app_label)):
            continue
        if os.path.isdir(app_dir):
            dirs.append(app_dir)
    dirs.extend(list(fixture_dirs))
    dirs.append('')
    dirs = [os.path.abspath(os.path.realpath(d)) for d in dirs]
    return dirs
