Задать вопрос
@Muriam

Для чего нужна функция relationship() в sqlalchemy?

class Family(db.Model):
    __tablename__ = 'family'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    with_plants = db.relationship('Plants', backref='f')


class Genus(db.Model):
    __tablename__ = 'genus'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    with_plants = db.relationship('Plants', backref='g')


class Plants(db.Model):
    __tablename__ = 'plants'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    g_id = db.Column(db.Integer, db.ForeignKey('genus.id'))
    f_id = db.Column(db.Integer, db.ForeignKey('family.id'))


Я так понимаю relationship связывает таблицы, но не их поля (как это делает внешний ключ), а объекты? Как это понять?
У меня таблица genus связана с таблицей plants через relationship (и через ForeignKey тоже). А также таблица family с таблицей plants.

Как связать таблицы: plants c genus, и genus c family ?
  • Вопрос задан
  • 495 просмотров
Подписаться 1 Средний 11 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы