agateblue / agateblue/django-dynamic-preferences

FilePathField not supported?

Open
#203 4 comments 0 reactions 0 assignees View on GitHub
documentation help wanted
Dominant language
Python
Stars
359
Forks
86
PR merge metrics
No merged PRs in 30d

Description

Hello,

I'm trying to call a FilePathField model into the FilePreference (I also tried BasePreference) class without success, here is my code in the dynamic_preferences_registry.py:

```
from django.db.models import FilePathField

@global_preferences_registry.register
class Search_Results_Directory(FilePreference):
name = 'Search_Results_Directory'
verbose_name = 'Search Results Directory'
default = '../search-results/'
required = True
# Make it a folder
field_class = FilePathField(path=default)
```

This is the error I get:
![Screenshot_2020-01-31_13-27-17](https://user-images.githubusercontent.com/4020546/73564390-711a7d80-442d-11ea-9813-9897cfe67afc.png)

```
File "/home/francois/Desktop/KiCad/kicad-part-manager/web-app/kicad_librarian/views.py", line 15, in SettingsURL
form = global_preference_form_builder()
File "/home/francois/.local/lib/python3.8/site-packages/dynamic_preferences/forms.py", line 126, in global_preference_form_builder
return preference_form_builder(GlobalPreferenceForm, preferences, **kwargs)
File "/home/francois/.local/lib/python3.8/site-packages/dynamic_preferences/forms.py", line 107, in preference_form_builder
f = preference.field
File "/home/francois/.local/lib/python3.8/site-packages/dynamic_preferences/types.py", line 76, in field
return self.setup_field()
File "/home/francois/.local/lib/python3.8/site-packages/dynamic_preferences/types.py", line 82, in setup_field
return field_class(**field_kwargs)
TypeError: 'FilePathField' object is not callable
```

Is there a workaround? I would like the user to be able to select a directory, not a file.

Thank you,
Francois

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.