Size: a a a

2019 December 02

VP

Vlad Pastushenko in Python Flask
А зачем тебе его обертка?
п.с. Этот пакет нормально работает
источник

V

Vasya in Python Flask
Philipp Bondarev
а можно расшифровку? А то гугл не хочет искать
В гите смотри
источник

V

Vasya in Python Flask
@PhilippBondarev в чате spbpython ее разраб сидит
источник

PB

Philipp Bondarev in Python Flask
Vlad Pastushenko
А зачем тебе его обертка?
п.с. Этот пакет нормально работает
marshmallow-mongoengine -  проблемы сразу нарисовались с импортами, например не видит ModuleNotFoundError: No module named 'marshmallow.compat' Уверен, если полезть туда поглубже, еще что-нибудь всплывет.
источник

VP

Vlad Pastushenko in Python Flask
Philipp Bondarev
marshmallow-mongoengine -  проблемы сразу нарисовались с импортами, например не видит ModuleNotFoundError: No module named 'marshmallow.compat' Уверен, если полезть туда поглубже, еще что-нибудь всплывет.
Видимо с новым marshamllow не дружит
Но модели mongoengine нормально и самим marshamllow кушаются

У меня в рабочем проекте уже давно живет такая связка.
источник

I

Iz in Python Flask
ребят  у меня есть такая бд
источник

I

Iz in Python Flask
с таким кодом
point_pass_pass = db.Table(
   'point_pass_pass_mea',
   db.Column('point_pass_user_id', db.Integer, db.ForeignKey(PountPassUser.id, ondelete='cascade')),
   db.Column('pass_id', db.Integer, db.ForeignKey('pass_mea.id', ondelete='cascade'))
)



class Passes(CRUDMixin, db.Model):
   __tablename__ = 'pass_mea'
   id = db.Column(db.Integer, primary_key=True)
   title = db.Column(db.String)
   id_user = db.Column(db.Integer, db.ForeignKey(User.id, ondelete='CASCADE'))
   name_products = db.Column(db.String)
   points = db.relationship('PountPassUser',
                              secondary=point_pass_pass,
                              backref=db.backref('passes', lazy='dynamic'),
                              lazy='dynamic')

class PointPass(CRUDMixin, db.Model):
   __tablename__ = 'point_pass_mea'
   id = db.Column(db.Integer, primary_key=True)
   name = db.Column(db.String, default=None)
   type=db.Column(db.String, default='enter')
   id_terminal = db.Column(db.String, default=None)
   point_permit_users = db.relationship('PountPassUser', backref='pointpass', lazy='dynamic')



class PountPassUser(CRUDMixin,db.Model):
   __tablename__ = 'point_pass_user_mea'
   id = db.Column(db.Integer, primary_key=True)
   id_user = db.Column(db.Integer, db.ForeignKey('user_mea.id', ondelete='CASCADE'))
   id_point_pass = db.Column(db.Integer, db.ForeignKey(PointPass.id, ondelete='CASCADE'))
   permit = db.Column(db.Boolean, default=False)


class User(CRUDMixin,db.Model):
   __tablename__ = 'user_mea'
   id = db.Column(db.Integer, primary_key=True)
   phone = db.Column(db.String, index=True)
   name = db.Column(db.String)


я получаю id_terminal name_products и хочу отфильтровать и получить PointPass вместе с Passes

db.session.query(PointPass,PountPassUser,Passes).filter_by(id_terminal="qqqq").join(
PountPassUser,
PountPassUser.id_point_pass == PointPass.id).filter_by(permit=True).all()
я вот дашел до такой структуры а вот дальше немогу понять как мне сделать  join через point_pass_pass. Тоесть поитогу там я должен получить  несколко Passes и потом
отфильтровать по name_products
источник

T

Tishka17 in Python Flask
Iz
ребят  у меня есть такая бд
симпатично. в чем рисовал?
источник

I

Iz in Python Flask
источник

I

Iz in Python Flask
я просто чегото немогу допетрить ка кделать join многое ко многим
источник

I

Iz in Python Flask
или нужно их сначао получить а потом уже в цикле ка кто отфилтровать ?
источник

T

Tishka17 in Python Flask
Iz
я просто чегото немогу допетрить ка кделать join многое ко многим
двойной джойн
источник

I

Iz in Python Flask
Tishka17
двойной джойн
нет я понял что нужен второй join я не могу понять как к полям обратится,
тоесть я думал что как то так  надо
db.session.query(PointPass,PountPassUser,Passes).filter_by(id_terminal="qqqq").join(
PountPassUser,
PountPassUser.id_point_pass == PointPass.id).filter_by(permit_tsj=True).join(
Passes,
Passes.id == PountPassUser.passes.pass_id).all()
но так  получается ошибка
источник

T

Tishka17 in Python Flask
эм
источник

T

Tishka17 in Python Flask
почему второй джойн по PountPassUser.passes.pass_id?
источник

T

Tishka17 in Python Flask
Passes,
Passes.id == PountPassUser.pass_id, не?
источник

T

Tishka17 in Python Flask
хотя я запутался
источник

АП

Агент Печенька in Python Flask
С такими именами я вообще ничего не понял.
источник

T

Tishka17 in Python Flask
point_pass - это не свзязка point и pass тчо ли?
источник

T

Tishka17 in Python Flask
=(
источник