Opened 10 years ago
Last modified 10 years ago
#25980 new Bug
Inconsistent error behaviour when providing a queryset as initial value on ModelMultipleChoiceField — at Initial Version
| Reported by: | karyon | Owned by: | nobody | 
|---|---|---|---|
| Component: | Forms | Version: | 1.9 | 
| Severity: | Normal | Keywords: | |
| Cc: | johannes.linke@… | Triage Stage: | Accepted | 
| Has patch: | no | Needs documentation: | no | 
| Needs tests: | no | Patch needs improvement: | no | 
| Easy pickings: | no | UI/UX: | no | 
Description
So i provided a queryset as initial value for a non-required and disabled ModelMultipleChoiceField. it seemed to work as i saw the correct values in the rendered output.
but, when saving the form i got an error   Enter a list of values.
- the error did not show up when the queryset i provided yielded no results, which is inconsistent. the reason for that is that this boolean expression evaluates to true as soon as there are results in the queryset.
- something else appeared fishy to me: in one line this method returns a queryset (self.queryset.none()), but in the next line it raises an error if the value is neither a list nor a tuple.
if you folks tell me what the intended behaviour is / which types should be used, i can try to create a fix if you want.
- and the last (slightly unrelated) issue: since the field was disabled, i was wondering why cleaning it doesn't take a shortcut and does nothing at all... bumped into this a few times.
  Note:
 See   TracTickets
 for help on using tickets.