Python SQLAlchemy: определение составного первичного ключа из двух внешних ключей - PullRequest
0 голосов
/ 04 мая 2020

Это моя таблица:

CREATE TABLE  "public"."patient_has_doctor" (
  "patient_person_id" INT  NOT NULL,
  "doctor_person_id" INT  NOT NULL,
  PRIMARY KEY ("patient_person_id", "doctor_person_id"),
  CONSTRAINT "fk_Patient_has_Doctor_Patient1"
    FOREIGN KEY ("patient_person_id")
    REFERENCES "public"."patients" ("person_id")
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT "fk_Patient_has_Doctor_Doctor1"
    FOREIGN KEY ("doctor_person_id")
    REFERENCES "public"."doctor" ("person_id")
    ON DELETE CASCADE
    ON UPDATE CASCADE);

Я не уверен, как определить первичный ключ в sqlalchemy. Я знаю, как сделать внешние ключи на основе других сообщений в стеке, но это специфицирует c case ускользает от меня. Я думаю:

class Book(Base):
    __tablename__ = 'books'
    author_firstName = Column(String(20))
    author_lastName = Column(String(20))
    __table_args__ = (ForeignKeyConstraint([author_firstName, author_lastName],
                                           [Author.firstName, Author.lastName]),
                      {}, primary_key=True)

Но я не совсем уверен, что это лучший способ. Источник: Отношения на составных ключах с использованием sqlalchemy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...