Disable multiple select on tag widget
Ardillen66 opened this issue · comments
The default implementation of Select2TagWidget
and its children is a MultipleSelect
. This seems to exclude regular (single) select2 widgets, and it is not clear if this is possible and how from the documentation.
I can see two solutions to this issue.
Either make additional classes for tag widgets. However I understand this would require some more work, as there would need to be Select2TagWidget
, HeavySelect2TagWidget
and ModelSelect2TagWidget
variants for this.
Alternatively, updating the documentation with a note that indicates how to configure a single select widget. I have done this myself by simply setting allow_multiple_selected = False
, but I need to do some more testing to check if this is sufficient. From the Django source code it seems relatively easy, as only value_from_datadict
and value_omitted_from_data
are overridden by the multiple select widget.
Which do you thinks would be best? If you agree I can make a pull request for either solution.
@Ardillen66 thanks for reaching out. I see your point, I supposed this could be solved either way. Which one to you prefer? I personally don't see a huge use case for a single tag widget, but you, writing this ticket may prove me wrong. Just out of curiosity, what is your use case?
Best, Joe
Hi Joe, thanks for the quick reply. I want to use the tag functionality to allow users to either select an existing model with the select2 widget or to create a model by writing a string that can be parsed and used to create a new instance.
For the approach I think the first option is cleaner and more in line with proper object oriented design.
I see, does the model consist of more than a string and a surrogate primary key?
This repo has moved, please address your issue at https://github.com/codingjoe/django-select2 Thanks!