
Zart
02.12.2016
07:45:57
и либо откатывать пакадж на другую версию, либо переделывать свой код под новую версию

Roman
02.12.2016
07:46:16
https://github.com/klen/peewee_migrate#id7

Pavel
02.12.2016
07:46:35
Ну вообще не так и много вариантов, Гугл мог бы и продебажить
Зачем думать за машину?

Google

Zart
02.12.2016
07:50:36
на pypi 0.6.4, на гихтабе 0.7.1, апи не менялся
надеюсь ты не назвал свой скрипт peewee_migrate.py

Roman
02.12.2016
07:55:19

darkwoolf
02.12.2016
08:08:03
всем привет

Tatiana
02.12.2016
08:08:22
Привет


Roman
02.12.2016
08:16:33
Есть что-нибудь почитать про миграции, что это и зачем
то вообще разобраться не могу
заюзал это либу, он создает мне новую таблицу, там показывает версии миграции
и скрипты создает, но они походу ничего не делают
"""Peewee migrations: ::
> Model = migrator.orm['name']
> migrator.sql(sql)
> migrator.python(func, *args, **kwargs)
> migrator.create_model(Model)
> migrator.remove_model(Model, cascade=True)
> migrator.add_fields(Model, **fields)
> migrator.change_fields(Model, **fields)
> migrator.remove_fields(Model, *field_names, cascade=True)
> migrator.rename_field(Model, old_field_name, new_field_name)
> migrator.rename_table(Model, new_table_name)
> migrator.add_index(Model, *col_names, unique=False)
> migrator.drop_index(Model, *col_names)
> migrator.add_not_null(Model, *field_names)
> migrator.drop_not_null(Model, *field_names)
> migrator.add_default(Model, field_name, default)
"""
import datetime as dt
import peewee as pw
def migrate(migrator, database, fake=False, **kwargs):
"""Write your migrations here."""
def rollback(migrator, database, fake=False, **kwargs):
"""Write your rollback migrations here."""


Ilya
02.12.2016
09:02:04
Посоны: почему так нельзя в питоняке?
select = con.fetch();
async with select as selected_data:

Zart
02.12.2016
09:06:25

Ilya
02.12.2016
09:07:41

Google

Zart
02.12.2016
09:08:09
короткая версия: так можно, но питон должен быть не ниже 3.5 и "It is a SyntaxError to use async with statement outside of an async def function."

Ilya
02.12.2016
09:09:48

Zart
02.12.2016
09:10:04
вопрос тогда в чем?

Ilya
02.12.2016
09:10:53

Ahmed
02.12.2016
09:11:30
Ребята подскажите пожалуйста, как делать выборку по id в django? Есть функция в view, не знаю дальше что вписывать.
def book_view(request, id):
queryset = Book.objects.

Ilya
02.12.2016
09:12:29
вопрос тогда в чем?
Ну есть два варианта
select = con.fetch()
values = await select — работает
select=con.fetch()
async select as values: — нет

Zart
02.12.2016
09:13:46
и async with предназначен для контекстных менеджеров. ты его реализовал?

Ilya
02.12.2016
09:14:13

Zart
02.12.2016
09:14:53
методы __aenter__ и __aexit__ реализовал?

Ilya
02.12.2016
09:14:57
async with con.fetch() as selected_data: — работает

Zart
02.12.2016
09:17:44
рад за тебя

Ilya
02.12.2016
09:18:13
рад за тебя
погоди но должно же работать? async with если await работает?

Zart
02.12.2016
09:22:10
а ты понимаешь что это слегка разные вещи совсем?

Ilya
02.12.2016
09:22:59

Zart
02.12.2016
09:23:04
блядь
я тебе ссылку на доку кидал зачем?
async with x: = await x.__aenter__()
разницу видишь?

Google

Zart
02.12.2016
09:24:36
если у икс нет __аентер__, то with вообще пахать не будет

Ilya
02.12.2016
09:39:27

Max
02.12.2016
10:03:19
Vsem privet ! Ne mogy ponyat' shto delaet funciya "include()"?
v urlpattern

Dmitry
02.12.2016
10:12:10
речь идет о джанговской работе с URL?

Aleshka
02.12.2016
10:50:13
народ, немног оне понимаю по синтаксису
html = open('21storm.html').read()
soup = BeautifulSoup(html)
[s.extract() for s in soup(['style', 'script', '[document]', 'head', 'title'])]
visible_text = soup.getText()
что делается в квадратных скобках
точнее я знаю, что там делается, но почему они отдельной тсрокой
это генератор списка или че?
как это работает

Zart
02.12.2016
10:53:44
[... for ... in ...] - называется лист компрехеншен (list comprehension)

Zart
02.12.2016
10:54:11
это создание списка из значений полученных в обходе циклом
[i+1 for i in range(4)] даст [1, 2, 3, 4] например

Aleshka
02.12.2016
10:54:53
а почему он отдельной строкой стоит, без присвоения переменной

Anton
02.12.2016
10:55:04
потому что это говнокод

Aleshka
02.12.2016
10:55:08
там список создается, но суп меняется после этого

Zart
02.12.2016
10:55:11
потому что автор мудак и использовал его не по назначению

Aleshka
02.12.2016
10:55:13
без присвоения
аа, ясно

Google

Anton
02.12.2016
10:55:22

Aleshka
02.12.2016
10:55:24
а как надо?)

Zart
02.12.2016
10:55:26
s.extract() мутирует суп

Anton
02.12.2016
10:55:43
обычный прогон цикла надо тут

Zart
02.12.2016
10:55:43
так можно, но это считается хреновым стилем

Aleshka
02.12.2016
10:56:04
понятно, спасибо

Zart
02.12.2016
10:57:24
в целом конструкцию
l = [f(x) for x in iterable if y(x) == z]
можно заменить переставив циклы и условия в начало, а обработку в конец, и расставив отступты:
l = []
for x in iterable:
if y(x) == z:
l.append(f(x))
for - [многострочный] стейтмент, тогда как [... for...] - выражение

Admin
ERROR: S client not available

Zart
02.12.2016
10:59:58
поэтому зачастую компрехеншены заметно компактнее и проще, хоть и не всегда читабельнее
помимо лист компрехеншенов есть
{k: v for k, v in iterable} - дикт компрехеншен
{i for i in iterable} - сет компрехеншен
f(i for i in iterable) - генераторное выражение

Stanislav
02.12.2016
11:35:28
http://i.imgur.com/HNczlEL.png
Че за хуйня, этот ретард по ошибке поменял r на p в функции и у него сука выдает тот-же результат
Т.е должна вызыватся ошибка NameError
А у него нет
Я вообще ничего не понял
Питон 3.5
Я подозреваю что у него запускает сохраненную версию с r в определении, хотя при запуске на F5 у него предлогает сохранить файл перед запуском
Я вообще охуеваю, что за аномалия
ЧТО БЛЯДЬ?
У меня так же
С его файлом

Roman
02.12.2016
11:48:34
вирусы

Google

Roman
02.12.2016
11:48:35
не качайте

Stanislav
02.12.2016
11:49:28
Не пизди
Я не понимаю
@zartsoft в чем проблема?

Erdni
02.12.2016
11:56:15
Говнокод
Если не смотреть , что кирилица ?
То все правильно, на скриншоте

Stanislav
02.12.2016
12:00:02
Но мне не ясна логика
Там в функции все аргументы правильные, на латинице

Johnnie
02.12.2016
12:01:05
PI = 3.14
def calculate_площадь(p):
p = (hui ** 2 * PI)
return p
hui = int(input('Введите радиус окружности:'))
площадь = calculate_площадь(hui)
print(площадь)

dmks
02.12.2016
12:01:42

Stanislav
02.12.2016
12:01:58

dmks
02.12.2016
12:02:48
Всмысле?
Во входном параметре р и приравниваешь значение ты тоже р, а в функцию передаешь r

Stanislav
02.12.2016
12:03:19

Erdni
02.12.2016
12:03:22
Ну да, как джонни валкер написал, хуи определяются раньше вызова функции, а в функц используется глобал хуи

Stanislav
02.12.2016
12:03:23
Я знаю где ошибка

Johnnie
02.12.2016
12:03:38
нет ошибки
Эта группа больше не существует