Opened 14 years ago

Last modified 14 years ago

#13492 closed

get_or_create(field__iexact=value) fails to set value. — at Initial Version

Reported by: Chris Dukes <pakraticus@…> 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

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top