Wargaming.net
Нельзя все сразу переписать с 2.x на 3.x, т.к. большинство кода пишется на 2.х
@@ -314,7 +314,7 @@
tags.append((k, v))
data['tags'] = tags
- for k in data.keys():
+ for k in list(data.keys()):
if k in RESERVED_FIELDS:
continue
@@ -147,7 +147,7 @@
if worker not in default_servers:
raise CommandError(
'Unsupported udp server type; expected one of %s, but got "%s".'
- % (', '.join(default_servers.keys()), worker))
+ % (', '.join(list(default_servers.keys())), worker))
return default_servers[worker]
@@ -75,7 +75,7 @@
# Ensure values are unique, do not contain already present values, and are not missing
# values specified in select_related
- values = set(filter(None, (getattr(o, column) for o in objects)))
+ values = set([_f for _f in (getattr(o, column) for o in objects) if _f])
if values:
qs = model.objects
if database:
Mожно писать код который будет одновременно работать как на 2.x так и на 3.х.
Примеры: django, virtualenv, requests, ... .