ru_python_beginners | Unsorted

Telegram-канал ru_python_beginners - Python beginners

14446

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981

Subscribe to a channel

Python beginners

Потому что where(id==123) эквивалентно where(False)

Читать полностью…

Python beginners

оно и просто с id работает. но все равно подчеркивает

Читать полностью…

Python beginners

Чекер в пайчарме это тот ещё бред

Читать полностью…

Python beginners

а если чел ник сменил, то что?

Читать полностью…

Python beginners

потому что у него коммит именно тут,а ты его вырезал

Читать полностью…

Python beginners

я и не сказал - СЮДА

Читать полностью…

Python beginners

Непонятно где выставляется этот user_id.. Такое ощущение что create не обновляет его

Читать полностью…

Python beginners

    async def get_user(self) -> UserModel | None:
query = select(User).filter_by(id=self.user_id)
result = await self.session.execute(query)
result = result.first()

return UserModel.from_list(result)

Читать полностью…

Python beginners

Как выглядит get_user? У тебя реально всегда одна запись в БД, или как он определяет какую взять?

Читать полностью…

Python beginners

так как чат называется python begineers я бы для начала посоветовал разбить эту огромную функцию на 2-3

Читать полностью…

Python beginners

глобалы тредлокалы контекст-вары 🌚

Читать полностью…

Python beginners

кринжанистан какой-то

Читать полностью…

Python beginners

скорее всего там используется self.user_id чтобы идентифицировать пользователя 😭

Читать полностью…

Python beginners

У тебя только один юзер?

Читать полностью…

Python beginners

if user.username != username:
await self.update_table('username', username)
...

С первым условием есть смысл посмотреть, в каких случаях оно не срабатывает, и либо выкинуть, либо что-то типа
if not user:
return

Читать полностью…

Python beginners

filter_by(id=123) работает, where(id==123) нет

Читать полностью…

Python beginners

с фильтр бай он не ругался

Читать полностью…

Python beginners

использовать функцию update_user_name?

Читать полностью…

Python beginners

Так всё что я вырезал нужно, а не только коммит, но в другом месте.

Читать полностью…

Python beginners

я сказал, что коммит нужен если не автоматический

Читать полностью…

Python beginners

Не надо коммит сюда засовывать

Читать полностью…

Python beginners

ну и коммит если не автоматический

Читать полностью…

Python beginners

пришли в чат get_user плиз

Читать полностью…

Python beginners

Это больше всего смущает

Ещё то что ты используешь create как update. По идее они должны вызываться в разных местах

Читать полностью…

Python beginners

ну как бы одна сущность. да

Читать полностью…

Python beginners

У тебя сама функция слишком много делает

Читать полностью…

Python beginners

может у него там в классе он хранится ,что обрабатывается 😂😂

Читать полностью…

Python beginners

Судя по get_user() без параметров только один, или чего-то не понимаю?

Читать полностью…

Python beginners

    async def create_user(self, username: str | None, name: str) -> UserModel:
user = await self.get_user()

name = slugify(
name,
allow_unicode=True,
lowercase=False,
separator=' '
)

if name.isspace() or len(name) < 1:
name = username or str(self.user_id)

if not user:
query = insert(User).values(id=self.user_id, name=name, username=username)
await self.session.execute(query)
await self.session.commit()
return await self.get_user()

if not user.username == username:
await self.update_table('username', username)

if not user.name == name:
await self.update_table('name', name)

return await self.get_user()


не слишком много запросов напичкал?

Читать полностью…

Python beginners

а в чем разница username и name?

kek

Читать полностью…
Subscribe to a channel