manage.py импортится до того, как запатчится.mypackage.mymodule.foo, где используется urlopen из urllib:from urllib.request import urlopen
def foo():
...urlopen.@patch("urllib.request.urlopen")
def test(urlopen):
...@patch("mypackage.mymodule.urlopen")
def test(urlopen):
...VARCHAR для всей строки использовать 2 поля: строка VARCHAR для букв и массив чисел INTEGER[]:CREATE TABLE test (
"letters" VARCHAR(20),
"digits" INTEGER[]
);
INSERT INTO test
("letters", "digits")
VALUES
('ЧС', '{1, 1}'),
('ЧС', '{1, 2}'),
('ЧС', '{1, 3, 1}'),
('ЧС', '{1, 10}'),
('ЧС', '{1, 11, 1}'),
('П', '{1, 1}'),
('П', '{1, 2}'),
('П', '{2, 10}');SELECT letters || '.' || array_to_string(digits, '.') from test order by letters, digits;post_save надо, pre_save тут точно мимо) отрабатывает сразу после того, как будет сохранён объект User. Пока всё ок.m2m_changed, но это будет костыль, потому что этот сигнал будет вызван 2N раз, где N - число добавлений/удалений из m2m. events:
id (PK)
....
users:
id (PK)
...
event_users
event_id (PK, FK to events)
user_id (PK, FK to users)
feedbacks:
id (PK)
event_id (FK to events)
user_id_from (FK to users)
user_id_to (FK to users)
idx_unique (event_id, user_id_from, user_id_to) - уникальный индекс>>> class MyKnowHowClass:
... SECRET = '42'
... TOP_SECRET = 'Kennedi was killed by UFO'
...
>>> import pickle
>>> pickle.dumps(MyKnowHowClass)
'c__main__\nMyKnowHowClass\np0\n.'
>>>def all_unique(iterator):
counter = 0
items = set()
for item in iterator:
items.add(item)
counter += 1
if len(items) != counter:
return False
return Trueuser@user-workstation:/tmp/test$ docker container run --rm -v ${PWD}:/tmp -u $(id -u ${USER}):$(id -g ${USER}) ubuntu:18.04 touch /tmp/it.is.my.file
user@user-workstation:/tmp/test$ ll
итого 20
drwxrwxr-x 2 user user 4096 янв 22 13:55 ./
drwxrwxrwt 23 root root 16384 янв 22 13:55 ../
-rw-r--r-- 1 user user 0 янв 22 13:55 it.is.my.file
user@user-workstation:/tmp/test$ rm it.is.my.file
user@user-workstation:/tmp/test$ docker container run --rm -v ${PWD}:/tmp ubuntu:18.04 touch /tmp/it.is.my.file
user@user-workstation:/tmp/test$ ll
итого 20
drwxrwxr-x 2 user user 4096 янв 22 14:01 ./
drwxrwxrwt 23 root root 16384 янв 22 14:01 ../
-rw-r--r-- 1 root root 0 янв 22 14:01 it.is.my.file
user@user-workstation:/tmp/test$ @decorator
def foo():
..foo = decorator(foo)@FuncDec()
def foo():
print('Hello')foo = FuncDec()(foo), а именно:FuncDec (вызывается конструктор __init__)__call__) вместе с параметром foowrapper, которая и будет в дальнейшем выполняться вместо объявленной foofoo = FuncDec(foo)django_user пытаетесь ещё обратиться к user. Так что чисто навскидку может помочь:if not obj.user == django_user:
return Response(status=HTTP_403_FORBIDDEN)if obj.user != django_user:
return Response(status=HTTP_403_FORBIDDEN) возможн ли как то напрямую через сам PIL сконвертировать gif в apng?
Однако сам то pil вполне себе умеет вынимать кадры... в общем кривые костыли
a = input()
b = input()
l = input()
N = input()
a = int(a)
b = int(b)
l = int(l)
N = int(N)
lenl = 2 * l
lena = (2 * N - 1) * a
lenb = 2*b *(N - 1)
sumlab = lenl + lena + lenb
print(sumlab)a = int(input())
b = int(input())
l = int(input())
N = int(input())
lenl = 2 * l
lena = (2 * N - 1) * a
lenb = 2*b *(N - 1)
sumlab = lenl + lena + lenb
print(sumlab)