Предполагая, что данные будут введены через форму, вы можете использовать валидатор формы, например:
db.define_table('rates',
Field('from_currency'),
Field('to_currency'))
db.rates.to_currency.requires=IS_NOT_IN_DB(
db(db.rates.from_currency==request.vars.from_currency), 'rates.to_currency')
Это обеспечит уникальность to_currency
среди набора записей, где from_currency
соответствует вставляемому новому значению from_currency
(поэтому комбинация from_currency
и to_currency
должна быть уникальной).
Другой вариант - использовать функцию onvalidation для подтверждения того, что два значения различны - это будет выполняться после обычной проверки формы, но до вставки в БД.
Наконец, вы можете вместо этого выполнить проверку на стороне клиента через Javascript.