SQLAlchemy mit mehreren Primärschlüsseln legt keine automatisch fest

Ich hatte einen einfachen Tisch:

class test(Base):
    __tablename__ = 'test'
    id = Column(Integer, primary_key=True)
    title = Column(String)

    def __init__(self, title):
        self.title = title

Bei Verwendung dieser Tabelle wurde die ID automatisch festgelegt. Ich möchte ein weiteres Feld hinzufügen, das für die Suche einzigartig und effizient ist. Deshalb habe ich das Feld hinzugefügt:

id2 = Column(String, primary_key=True)

Und den Konstruktor aktualisiert:

def __init__(self, id2, title):
    self.id2 = id2
    self.title = title

Jetzt wird id nicht mehr automatisch gesetzt oder ich bekomme den Fehler:

IntegrityError: (IntegrityError) test.id darf nicht NULL sein u'INSERT INTO test (id2, title) VALUES (?,?) '[U'a', u'b ']

Gibt es eine Möglichkeit, einen zweiten Primärschlüssel zu verwalten, ohne das Autoincrement-Verhalten des ersten zu entfernen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage