Задать вопрос
Пишу приложения на python, в основном, веб, flask, sqlalchemy.
Немного писал на Ruby, C#.
Некоторое время работал с JavaEE 7 (JPA — EclipseLink, JSF — PrimeFaces, RDBMS — Oracle)
Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (14)
  • Что выбрать или Django vs Flask?

    @sormon
    инженер-программист =)
    На сегодняшний день ситуация такова, что Django гораздо сильнее востребован на рынке, нежели Flask. Однако, для написания действительно сложных боевых проектов лучше брать Flask, в частности, из-за достаточно слабого ORM в Django, а так же из-за того, что Django очень монолитный фреймворк, что будет вызывать проблемы в сложных случаях, когда нужно больше, чем дает Django, или то, что он предлагает, в какой-то части не подходит для задачи. Здесь мощь Flask заключается в том, что он позволяет использовать разные инструменты для задач, связывая их, как нужно, иногда даже реализовывая компоненты под себя. Но, накладные расходы здесь будут — написание обвязки, необходимость уметь проектировать систему и более глубоко понимать, что происходит (но в больших и сложных проектах это и так необходимо.)
    Ответ написан
    Комментировать
  • Как составить запрос к 3-м таблицам во Flask SQLAlchemy?

    @sormon
    инженер-программист =)
    Вообще, хорошо бы структуру увидеть, т.к. не понятны связи между таблицами (есть ли там fk)
    Ну а так, если предположить, что в запросе идет связка по fk, то как-то так:
    session.query(User).join(UserItem, Lang)
    Дальше выбирать те поля, которые вам нужны.
    Второй вариант:
    session.query(UserItem.id, UserItem.date, UserItem.item_name, Lang.desc_rus, User.email).join(User, Lang)

    Если не указаны fk, то, к примеру, использовать add_entity.
    Здесь очень сложно рассуждать, без знания того, как описаны таблицы в базе, как описаны модели в SQLA (иди там вообще может reflect), какая нагрузка и так далее.
    Ответ написан
    2 комментария
  • Правильно ли написал многие-ко-многим в терминах Flask-SqlAlchemy?

    @sormon
    инженер-программист =)
    Нужно убрать либо у UploadedFile, либо у User определитель отношения, если вы используете backref, поскольку backref как раз определяет имя поля этого класса для связываемой сущности, и он там и так будет доступен.
    По частоте, тут нет особой разницы, все равно, при указании backref, у обеих сущностей будет доступ к связанным с ней записям.
    Ответ написан
    6 комментариев
  • Почему SQLAlchemy ведет себя таким образом?

    @sormon
    инженер-программист =)
    Нужно немножко внимательнее читать документацию к ext.sqlalcmemy

    Вы используете обертку, но при этом engine объявляете где-то в стороне от нее.
    Да и еще URI к базе указываете в стороне от app.
    Надо так:

    from flask import Flask, render_template
    from flask.ext.sqlalchemy import SQLAlchemy as SA
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://user:pass@localhost:3306/app_db'
    db = SA(app)
    
    from sqlalchemy import create_engine
    
    db.metadata.reflect(db.engine)
    from Classes import *
    
    @app.route('/')
    def get_index():
        Users.query.all()
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run(debug=True)
        pass


    И тогда все будет нормально работать
    Ответ написан
    4 комментария
  • Как прокрутить в цикле структуру полученную от Flask-SQLAlchemy?

    @sormon
    инженер-программист =)
    for i in items:
      print i.UserItem.id

    Запрос возвращает итератор, нет необходимости вызывать .all():
    items = db.session.query(U, I).join(I).filter(U.id == user_id)

    Насчет добавления ключей поясните подробнее, что вы имеете в виду...
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (1)