Flask-msearch python, добавление msearch на многие ко многим таблицам

Я работаю на python с базой данных postgres, у меня есть две таблицы, в которых есть отношения многие ко многим, и третья таблица, в которой сохраняются отношения, мне нужно применить flask-msearch к таблице отношений таким образом, чтобы он выбирал и осуществлял поиск в обеих таблицах и дать результирующий вывод, я реализовал на одной таблице, он работает нормально там, но не работает во многих отношениях многих

Вот моя модель, которая работает правильно

class JobpostJobpost(db.Model):
    __tablename__ = 'jobpost_jobpost'
    __searchable__ = ['company_name']  
    id = db.Column('job_id', Integer, primary_key=True)
    company_name = db.Column(String(255))

& для поиска я должен использовать этот запрос

JobpostJobpost.query.msearch(query,fields=['company_name'])

это дает точный результат, но когда я использую его для нескольких таблиц, это дает ошибку здесь, я мой код модели для многопользовательских

Класс TblDegreeSpecilizationRelation(db.Model):
    __tablename__ = 'tbl_degree_specilization_relation'
    __searchable__ = ['tbl_suggestion_degrees.name','tbl_suggestion_degrees.tags'] #,'tbl_suggestion_degree_specilization.name','tbl_suggestion_degree_specilization.tags'

    id = db.Column('id', Integer, nullable=False, primary_key=True)
    степень_ид = db.Column ('степень_ид', ForeignKey(u'tbl_suggestion_degrees.id', ondelete=u'CASCADE'))
    specilization_id  = db.Column('specilization_id', ForeignKey(u'tbl_suggestion_degree_specilization.id', ondelete=u'CASCADE'))

1 ответ

Решение

Я решил эту проблему, я использовал имя таблицы вместе с именем.column, я изменил его как, Модель

class TblDegreeSpecilizationRelation(db.Model):
__tablename__ = 'tbl_degree_specilization_relation'
__searchable__ = ['degree.name','degree.tags', 'specilization.name', 'specilization.tags'] # ,'tbl_suggestion_degree_specilization.name' ,'tbl_suggestion_degree_specilization.tags'

id = db.Column('id', Integer, nullable=False, primary_key=True)
degree_id = db.Column('degree_id', ForeignKey(u'tbl_suggestion_degrees.id', ondelete=u'CASCADE'))
specilization_id  = db.Column('specilization_id', ForeignKey(u'tbl_suggestion_degree_specilization.id', ondelete=u'CASCADE'))

degree = relationship(u'TblSuggestionDegrees',backref=db.backref(
        'post', uselist=False), uselist=False)
specilization = relationship(u'TblSuggestionDegreeSpecilization',backref=db.backref(
        'post', uselist=False), uselist=False)

Сейчас работает нормально

Другие вопросы по тегам