У меня была простая таблица:
class test(Base):
__tablename__ = 'test'
id = Column(Integer, primary_key=True)
title = Column(String)
def __init__(self, title):
self.title = title
При использовании этой таблицы id устанавливался автоматически. Я хочу добавить еще одно поле, уникальное и эффективное для поиска, поэтому я добавил поле:
id2 = Column(String, primary_key=True)
И обновил конструктор:
def __init__(self, id2, title):
self.id2 = id2
self.title = title
Теперь id больше не устанавливается автоматически, точнее я получаю ошибку:
IntegrityError: (IntegrityError) test.id не может быть NULL u'INSERT INTO test (id2, title) VALUES (?, ?)' [u'a', u'b']
Есть ли способ сохранить второй первичный ключ, не удаляя поведение автоинкремента первого?