ask for primary key only once per model