Aktywne Wpisy

Santiego +264
Poskładałem w weekend zapytania, na Pradze za 40m trzeba już wyłożyć 800k, na dalekiej Białołęce za 45m 700k, po 6 latach bycia analem w korpo nie mam nawet zdolności aktualnie, nie mówiąc o dodatkowych 100k na wykończenie xD Zaczynam rozważać wylogowanie z wyścigu gdzieś do Kanady, albo w jakieś cieplejsze rejony, bo kij z marchewką już tak się wydłużył, że przestaję go widzieć od tej wady wzroku po klepaniu w komputer po

Kostor95 +2
Zaprosiłem dziewczynę na chatę i chciałbym odpalić jakiś fajny #film zależy mi na wysokiej jakości wizualno-dźwiękowej ponieważ do użytku mamy Dolby Atmos. Macie jakieś fajne propozycje w klimacie „dla dwojga” gdzie oprócz wciągającej fabuły otrzymamy doznania dźwiękowe? Ona całe życie oglądała filmy na laptopie i w domu na telewizorze w salonie, więc pewnie tak czy owak usłyszy różnice, ale jednak zależy mi na tym efekcie „wow” i potrzebuje do tego





donations|sort_by_keys:'date,-value'Mając dane:
donations = [
{
date:
'29-07-2014',
value: 150,
},
{
date:
'07-10-2014',
value: 450,
},
{
date:
'29-07-2014',
value: 500,
},
]
za pomocą wywołania powyższego wywołania, powinienem otrzymać:
[
{
date:
'29-07-2014',
value: 500,
},
{
date:
'29-07-2014',
value: 150,
},
{
date:
'07-10-2014',
value: 450,
},
]
Moja implementacja:
@register.filterdef
```**```
sort_by_keys(value, keys):
_list =
```**```
list
```**```
(value)
``````
```**```
def
```**```
compare(item1, item2):
```**```
for
```**```
key in item1.__keys_for_sort.split(
```_```
','
```_```
):
``````
```**```
if
```**```
key.startswith(
```_```
'-'
```_```
):
key = key.replace(
```_```
'-'
```_```
,
```_```
''
```_```
)
``````
```**```
if
```**```
```**```
getattr
```**```
(item1, key) >
```**```
getattr
```**```
(item2, key):
```**```
return
```**```
-1
```**```
elif
```**```
```**```
getattr
```**```
(item1, key) <
```**```
getattr
```**```
(item2, key):
```**```
return
```**```
1
```**```
else
```**```
:
```**```
if
```**```
```**```
getattr
```**```
(item1, key) <
```**```
getattr
```**```
(item2, key):
```**```
return
```**```
-1
```**```
elif
```**```
```**```
getattr
```**```
(item1, key) >
```**```
getattr
```**```
(item2, key):
```**```
return
```**```
1
``````
```**```
return
```**```
0
``````
```**```
for
```**```
item in _list:
```**```
setattr
```**```
(item,
```_```
'__keys_for_sort'
```_```
, keys)
``````
_list =
```**```
sorted
```**```
(_list,
```**```
cmp
```**```
=compare)
``````
```**```
for
```**```
item in _list:
```**```
delattr
```**```
(item,
```_```
'__keys_for_sort'
```_```
)
``````
```**```
return
```**```
_list
```Niestety bardzo mi się nie podoba wstrzykiwanie atrybutu ```
__keys_for_sort
, by móc tych kluczy użyć wewnątrz comparatora. Macie jakiś pomysl, jak napisać to lepiej?
#codereview #django
@registerfactor = 1
if key.startswith('-'):
key = key.replace('-', '')
factor
cmpw builtins, a w py3 jest w jakimś module
@miszczu_blady: dictsort z tego co widzę, nie potrafi sortować po kilku kluczach...
{{ value|dictsort:"name1"|dictsort:"name2" }}tak samo masz poniżej dictsortreversed, więc w twoim przypadku kod wyglądałby tak:
donations|dictsort:'date'|dictsortreversed:'value'Gdyby mnie takie rozwiązanie interesowało, to bym wcześniej napisał filtr (bo owszem, tego co napisałeś, to nie znałem, więc dzięki :) ).. mniej więcej takiej postaci:
def sort_by_keys(value,{{ donations|dictsortreversed:'value'|dictsort:'date' }}a wystarczyło sortować poczynając od "najbardziej wewnętrznej listy" (-‸ლ)
@miszczu_blady: +1
:P