Size: a a a

2021 November 02

r🍪

radmirkus 🍪 in Python Flask
Ок, спасибо
источник

e☮

editus ☮️ in Python Flask
решил значит фласк-мигрейт с sqlite3 и flask-sqlalchemy заюзать, по-быстрому..
источник

e☮

editus ☮️ in Python Flask
SQLite does not support dropping or altering columns.
а, быканул..
источник

e☮

editus ☮️ in Python Flask
чет не понял, хули оно на 3.31 не умеет в дроп колумн
источник

e☮

editus ☮️ in Python Flask
даже версию поддерживаемую ублюдки не напишут
источник

T

Tishka17 in Python Flask
появилось в 3.35.0. То есть прям в этом году только
https://sqlite.org/changes.html
источник

e☮

editus ☮️ in Python Flask
а как они до этого жили
источник

e☮

editus ☮️ in Python Flask
через транзакции и инсерты???
источник

T

Tishka17 in Python Flask
в python:3.10-slim стоит sqlite 3.34.1
источник

T

Tishka17 in Python Flask
создал новую таблицу, туда скопировал данные, потом переименовал таблицу. Больно короче
источник

e☮

editus ☮️ in Python Flask
а в фласк-админ можно сделать динамическую структуру форм у create?
типа
forms = {
   «select1»:
{FormField1, FormField2, FormField3},
   «select2»:
{FormField4}
}

и в случае выбора одного из двух ключей формс, у меня меняется вся форма на соответствующую
источник

e☮

editus ☮️ in Python Flask
Ну из под-коробки, хтмльку я могу и сам сделать, только хочется всего и сразу
источник
2021 November 03

Сс

Совершенно не секрет... in Python Flask
Всем привете, не подскажите что значит «порт сообщения в браузере». У меня не работают error.message в wtforms в одном месте и работает в другом. Там где не работает в браузере опера в консоле разрабов выдаёт ошибку типо: Unchecked runtime.LastError: The message port closed before a response.
И таких ошибок на все пять полей
Кстати в хроме этих сообщений нет
источник

Сс

Совершенно не секрет... in Python Flask
источник

h

hightime in Python Flask
всем привет

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

код:

class FlaskDB(Flask):
   def __init__(self,
                import_name: str,
                static_url_path: Optional[str] = None,
                static_folder: Optional[Union[str, os.PathLike]] = "static",
                static_host: Optional[str] = None,
                host_matching: bool = False,
                subdomain_matching: bool = False,
                template_folder: Optional[str] = "templates",
                instance_path: Optional[str] = None,
                instance_relative_config: bool = False,
                root_path: Optional[str] = None,
                sqlalchemy_engine: Optional[Engine] = None
                ):
       super(FlaskDB, self).__init__(
           import_name,
           static_url_path=static_url_path,
           static_folder=static_folder,
           static_host=static_host,
           host_matching=host_matching,
           subdomain_matching=subdomain_matching,
           template_folder=template_folder,
           instance_path=instance_path,
           instance_relative_config=instance_relative_config,
           root_path=root_path
       )
       self._engine = sqlalchemy_engine

   @contextmanager
   def session(self) -> ContextManager[Session]:
       session = Session(self._engine)
       try:
           yield session.begin()
       except Exception as e:
           self.logger.exception(e)
           session.rollback()
       else:
           session.commit()
       finally:
           session.close()




обращаться к сессии можно вот так:

with app.session() as session:
   session.execute(...)



какие минусы такго подхода? кикие то утечки памяти могут быть? как сделать лучше/правильнее/эффективнее?

поока что заметил единственный минус - current_app не видит .session

реквестирую критику
источник

T

Tishka17 in Python Flask
что ты будешь делать когда нужно будет две сессии?
источник

h

hightime in Python Flask
хм
источник

h

hightime in Python Flask
у меня пока что ни в ондом приложении не нужно было такого
источник

T

Tishka17 in Python Flask
а у меня было. Нагруженные вьюхи ходили в ридонли реплику, а некоторые - в мастер на запись
источник

h

hightime in Python Flask
если отставить в сторону вариант с двумя сессиями, а оставить достаточно простое приложение - этот вариант приемлимый?
источник