Я вот немного не понял - нужно всю базу лопатить или все же значение поля 1 как первичного ключа будет отдаваться?
Если так - то использовать get_or_create.
Если лопатить всю базу - то вычислять при выборке .extra поле. Хотя в этом случае я бы на самом деле добавил поле 1eq5, например, в которое заносил бы True или False при каждом save модели - там бы и проверял, одинаковы ли поля.
Тоесть, перед вставкой или обновлением, в бд уже будут какие то данные.
И джанго работает так, если у меня один первичный ключ и если значение первичного ключа совпадает с новыми данными, то остальные поля просто обновляются.
Так вот, у меня нужно делать проверку по двум полям, по полю где есть первичный ключ и по другому полю.
Если эти два поля совпадают, то сделать обновление остальных полей. Если не совпадают, то вставить новую запись.
Думаю, что внутренне джанга лопатит всю бд. Поэтому у гуру спрашиваю, как сделать красивее.