Объекты запроса, дочерние объекты которых многие ко многим включают элементы другого списка - PullRequest
0 голосов
/ 10 июля 2020

У меня есть объект Problem, который имеет отношение «многие ко многим» с объектами Skill. У меня также есть список Skill объектов под названием skillList. Каждый элемент skillList должен присутствовать в Problem.skills. Мне нужна помощь в определении того, как написать свой запрос, чтобы получить список проблем, включающий все элементы skillList в Problem.skills.

мой маршрут:

skillList = [<list of skill objects>]
problems = Problem.query.filter(<skillList in Problem.skills>).all()

мои модели:

skillproblems = db.Table('skillproblems',
    db.Column('problem_id', db.Integer, db.ForeignKey('problem.id'), primary_key=True),
    db.Column('skill_id', db.Integer, db.ForeignKey('skill.id'), primary_key=True)
)

class Skill(CRUDMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    skillName = db.Column(db.String(100), nullable=False)
    problems = db.relationship(
        "Problem",
        secondary=skillproblems,
        back_populates="skills")

class Problem(CRUDMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question = db.Column(db.String(1000), nullable=False)
    skills = db.relationship(
        "Skill",
        secondary=skillproblems,
        back_populates="problems")
...