Я пытаюсь использовать автоинкрементное уникальное поле ID в качестве внешнего ключа в других таблицах. Моя модель ниже:sqlalchemy значение autoincrement как внешний ключ mysql
class User(Base):
__tablename__ = 'Users'
uid = Column(INT, primary_key=True, autoincrement=True)
name = Column(TEXT)
email = Column(TEXT)
dateRegistered = Column(TIMESTAMP)
phone = Column(TEXT)
class AddressMap(Base):
__tablename__ = 'AddressMaps'
uid = Column(INT, primary_key=True, autoincrement=True)
userId = Column(INT, ForeignKey('Users.uid'))
addressId = Column(INT, ForeignKey('Addresses.uid'))
dateCreated = Column(TIMESTAMP)
user = relationship("User", backref=backref('AddressMaps'))
address = relationship("Address", backref=backref('AddressMaps'))
class Address(Base):
__tablename__ = 'Addresses'
uid = Column(INT, primary_key=True, autoincrement=True)
street = Column(TEXT)
city = Column(TEXT)
state = Column(TEXT)
postal = Column(TEXT)
dateRegistered = Column(TIMESTAMP)
Моя проблема заключается в том, что при создании объекта пользователя, он не создается с UID значением. Я понимаю, это потому, что объект еще не был привязан к базе данных. Проблема в том, что, поскольку объект User имеет None как значение uid, у меня нет способа связать с ним объект AddressMap.
Что такое идиоматический способ решения этой проблемы в SQLAlchemy?