Opened 18 years ago
Closed 17 years ago
#4207 closed (duplicate)
The "add a new record on the fly" does not respect the "limit_choices_to":
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
If the 'nl_group' field is defined as
nl_group = models.ForeignKey('self', limit_choices_to = {'o1type__exact': 'NL'}, null=True, blank=True)
Then the pop up window after clicking the 'green plus' sign has an o1type with its normal default value. This means that the relationship will be broken. The o1type should default to 'NL' so that the relationship is not broken.
For many of the possible values of "limit_choices_to" a correct default value may be inferred. Other possible simpler solutions include adding a new parameter: e.g.
onfly_add_defaults = {'o1type': 'NL'}
Change History (3)
comment:1 by , 18 years ago
comment:3 by , 17 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Looks like Chris forgot to close this when he marked it a dupe.
To make this rock solid, the "limit_choices_to" predicate should also be included as a record level validation test during 'on-the-fly' adds. Failure could be reported as "The record you are attempting to add would not appear in the list box to the left of the green plus." Or something to this effect.
David