Opened 15 years ago
Last modified 15 years ago
#13492 closed
get_or_create(field__iexact=value) fails to set value. — at Initial Version
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Uncategorized | Version: | 1.1 |
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
I'm not sure if this is a documentation bug, or a code bug, or operator headspace error.
I have a model where a column needs to be unique in a case insensitive fashion, but should be stored in a case sensitive fashion.
I have applied custom SQL for that constraint.
As I am bulk loading the table, I am making use of get_or_create(field0iexact=value0, field1=value1).
When I use this invocation, field0 ends up being set as null.
If I invoke it as get_or_create(field0iexact=value0, field0=value0, ...)
I eventually have a constraint error.
I would expect a FieldError if field0iexact were not permitted, and I would expect the fieldname to be calculated from field0iexact if it were permitted.
I am currently avoiding the problem by catching an exception on psycopg2.IntegrityError, but that does not seem to be the right solution.
Thanks,
Chris Dukes