Size: a a a

2020 July 10

[O

[object Object] in Python Flask
Tishka17
Она сама их делает
не делает. смотрю запрос в дебаге - нет джоинов

db.session.query(Tickets.id, Tickets.title, Companies.companyname, Types.type_title).all()

SELECT tickets.id AS tickets_id, tickets.title AS tickets_title, companies.companyname AS companies_companyname, types.type_title AS types_type_title 
FROM tickets, companies, types
источник

[O

[object Object] in Python Flask
UPD. Разобрался. (использовал filter с уточнениями вместо join)
источник
2020 July 11

MS

Maksym Sivash in Python Flask
всем привет
источник

MS

Maksym Sivash in Python Flask
Переслано от Maksym Sivash
вопрос по alembic, создал бд на алхимии, прикрутил алембик, первую миграцию сделать получилось, а вот когда делают изменения в таблице - алембик этого не видит
источник

MS

Maksym Sivash in Python Flask
Переслано от Maksym Sivash
код архивом
источник

MS

Maksym Sivash in Python Flask
Переслано от Maksym Sivash
alembic revision -m "change user" --autogenerate --head head
источник

MS

Maksym Sivash in Python Flask
Переслано от Maksym Sivash
команда которой делаю миграцию
источник

MS

Maksym Sivash in Python Flask
Переслано от Maksym Sivash
если ошибка - export PYTHONPATH=$PYTHONPATH:/path/to/migrations/
источник

MS

Maksym Sivash in Python Flask
base.py
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

Base = declarative_base()


class User(Base):
   __tablename__ = 'users'
   id = Column(Integer, primary_key=True)
   name = Column(String)
   fullname = Column(String)

   def __repr__(self):
       return "<User(name='%s', fullname='%s', nickname='%s')>" % (
           self.name, self.fullname, self.nickname)
источник

MS

Maksym Sivash in Python Flask
alembic init migrations
источник

MS

Maksym Sivash in Python Flask
alembic.ini
sqlalchemy.url = sqlite:///foo.db
источник

MS

Maksym Sivash in Python Flask
env.py
from base import User
target_metadata = User.metadata
источник

MS

Maksym Sivash in Python Flask
(venv) [flopberry@localhost test]$ export PYTHONPATH=$PYTHONPATH:/home/flopberry/PycharmProjects/test/migrations/
(venv) [flopberry@localhost test]$ alembic revision -m "create user" --autogenerate --head head
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate.compare] Detected added table 'users'
 Generating /home/flopberry/PycharmProjects/test/migrations/versions/9a50aafa1299_create_user.py ...  done
источник

MS

Maksym Sivash in Python Flask
добавил в таблицу User новое поле nickname = Column(String)
источник

MS

Maksym Sivash in Python Flask
(venv) [flopberry@localhost test]$ alembic revision -m "create user" --autogenerate --head head
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [alembic.util.messaging] Target database is not up to date.
 FAILED: Target database is not up to date.
источник

AT

Alex Ted in Python Flask
Весь код на пасту/гист
источник
2020 July 12

Н

Назарий in Python Flask
всем привет. серверу нужно отправить json по типу [{"инфа о юзере", "true or false"}, {"инфа о юзере", "true or false"}...]
использвую sqlalchemy

сначала беру tuple юзеров из одной таблицы, потом для заполнения второго параметра json прохожу по этому tuplе, обращаюсь к другой таблице и смотрю, есть ли в ней юзер с таким же айдишником, если есть - true, нет - false. получается что-то по типу

users = db.session.query(UserData).all()

list_of_dicts = list_of_dicts(users)

for idx, user in enumerate(users):
  exists = db.session.query(AnotherTable).filter_by(user_id = user.user_id).scalar() is not None
  list_of_dicts[idx].update({"exists": exists})

мне этот код не нравится, хочется что-то с помощью join, но не понимаю, как проверить с его помощью, существует ли запись во второй таблице или нет. как это можно сделать?
источник

AT

Alex Ted in Python Flask
не осилил весь текст
источник

AT

Alex Ted in Python Flask
кто прочитал, можно кратенький пересказ?
источник

Н

Назарий in Python Flask
крч, как с помощью join определить, есть ли запись c таким же айдишником в двух таблицах и выдать инфу в виде (first_table.param_1, first_table.param_2, exists_in_second_table)?
источник