Skip to content

Commit ca2b665

Browse files
committed
Update more QuerySet representations to match Django 1.10
1 parent f1ee0fd commit ca2b665

File tree

18 files changed

+54
-54
lines changed

18 files changed

+54
-54
lines changed

es/django_orm/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ Ahora puedes divertirte un poco y añadir más posts para ver cómo funciona. A
9393
Una parte importante de los QuerySets es la habilidad para filtrarlos. Digamos que queremos encontrar todos los posts cuyo autor es el User ola. Usaremos `filter` en vez de `all` en `Post.objects.all()`. En los paréntesis estableceremos qué condición o conduciones deben cumplirse por un post del blog para terminar en nuestro queryset. En nuestro caso sería `author` es igual a `me`. La forma de escribirlo en Django es: `author=me`. Ahora nuestro bloque de código se ve como esto:
9494

9595
>>> Post.objects.filter(author=me)
96-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
96+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
9797

9898

9999
¿O tal vez querramos ver todos los posts que contengan la palabra 'title' en el campo `title`?
100100

101101
>>> Post.objects.filter(title__contains='title')
102-
[<Post: Sample title>, <Post: 4th title of post>]
102+
<QuerySet [<Post: Sample title>, <Post: 4th title of post>]>
103103

104104

105105
> **Nota** Hay dos guiones bajos (`_`) entre `title` y `contains`. Django ORM utiliza esta sintaxis para separar los nombres de los campos ("title") y operaciones o filtros ("contains"). Si sólo utilizas un guión bajo, obtendrás un error como "FieldError: Cannot resolve keyword title_contains".
@@ -123,21 +123,21 @@ Desafortunadamente, ninguno de nuestros posts han sido publicados todavía. ¡Va
123123
Ahora intenta obtener la lista de posts publicados nuevamente (presiona la tecla con la flecha hacia arriba 3 veces y presiona Enter):
124124

125125
>>> Post.objects.filter(published_date__lte=timezone.now())
126-
[<Post: Sample title>]
126+
<QuerySet [<Post: Sample title>]>
127127

128128

129129
### Ordenando objetos
130130

131131
Los QuerySets también te permiten ordenar la lista de objetos. Intentemos ordenarlos por el campo `created_date`:
132132

133133
>>> Post.objects.order_by('created_date')
134-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
134+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
135135

136136

137137
También podemos invertir el ordenamiento agregando `-` al principio:
138138

139139
>>> Post.objects.order_by('-created_date')
140-
[<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]
140+
<QuerySet [<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]>
141141

142142

143143
¡Genial! ¡Ahora estás lista para la siguiente parte! Para cerrar la consola, tipea:

es/django_templates/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Prueba esto en tu plantilla `blog/templates/blog/post_list.html` (reemplaza el s
2626

2727
Como puedes ver, todo lo que obtenemos es esto:
2828

29-
[<Post: Mi segundo post>, <Post: Mi primer post>]
29+
<QuerySet [<Post: Mi segundo post>, <Post: Mi primer post>]>
3030

3131

3232
Esto significa que Django lo entiende como una lista de objetos. ¿Recuerdas de **Introducción a Python** cómo podemos mostrar listas? Sí, ¡con los ciclos for! En una plantilla de Django, lo haces de esta manera:

hu/django_orm/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,14 @@ A móka kedvéért hozz létre még 2-3 posztot, hogy lásd, hogyan működik. H
9595
A QuerySet-ek egyik nagy előnye, hogy filterezhetjük (szűrhetjük) őket. Mondjuk le szeretnénk kérdezni az összes posztot, amit az ola User írt. Itt a `filter`-t fogjuk használni az `all` helyett a `Post.objects.all()`-ban. A zárójelek között megadhatjuk, hogy milyen feltétel(ek)nek kell teljesülnie ahhoz, hogy egy blogposzt bekerülhessen a querysetünkbe. Ebben az esetben az `author` (szerző) egyenlő `me`-vel (én). Ezt a Django-ban így írjuk le: `author=me`. Most így néz ki a kódunk:
9696

9797
>>> Post.objects.filter(author=me)
98-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
98+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
9999

100100

101101

102102
És ha össze szeretnénk gyűjteni minden olyan posztot, aminek a `title` (cím) mezőjében szerepel a 'title' szó?
103103

104104
>>> Post.objects.filter(title__contains='title')
105-
[<Post: Sample title>, <Post: 4th title of post>]
105+
<QuerySet [<Post: Sample title>, <Post: 4th title of post>]>
106106

107107

108108
> **Note** A `title` és a `contains` (vagyis 'tartalmaz') között két underscore karakter (`_`) van. A Django ORM ezt a szintaxist használja arra, hogy elkülönítse a mezők neveit ("title") a műveletektől vagy filterektől ("contains"). Ha csak egy underscore-t használt, egy ilyen hibát fogsz kapni: "FieldError: Cannot resolve keyword title_contains" (kb "Mezőhiba: a title_contains kulcsszó nem található").
@@ -126,21 +126,21 @@ Aztán közzétesszük a `publish` methoddal!
126126
Most próbáld meg újra lekérdezni a közzétett posztok listáját (nyomd meg háromszor a felfelé nyilat, és nyomj `enter`t):
127127

128128
>>> Post.objects.filter(published_date__lte=timezone.now())
129-
[<Post: Sample title>]
129+
<QuerySet [<Post: Sample title>]>
130130

131131

132132
### Objektumok sorbarendezése
133133

134134
A QuerySetek segítségével sorba is rendezheted az objektumok listáját. Először próbáljuk meg a létrehozás dátuma (`created_date` mező) alapján rendezni őket:
135135

136136
>>> Post.objects.order_by('created_date')
137-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
137+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
138138

139139

140140
Meg is fordíthatjuk a sorrendet, ha az elejére egy `-` jelet teszünk:
141141

142142
>>> Post.objects.order_by('-created_date')
143-
[<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]
143+
<QuerySet [<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]>
144144

145145

146146
### QuerySetek összefűzése

hu/django_templates/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Próbáld ki a `blog/templates/blog/post_list.html` template-ben. Cserélj ki mi
2626

2727
Ahogy látod, ez minden, amink van:
2828

29-
[<Post: My second post>, <Post: My first post>]
29+
<QuerySet [<Post: My second post>, <Post: My first post>]>
3030

3131

3232
Ez azt jelenti, hogy a Django objektumok listájaként értelmezi. Emlékszel a **Bevezetés a Python-ba** című fejezetből, hogy hogyan jelenítünk meg listákat? Igen, for loop-okkal! Egy Django template-ben ezt így tudod megtenni:
@@ -103,4 +103,4 @@ Olyan, mint a varázslat? Büszkék vagyunk Rád! Hagy ott egy kicsit a gépet,
103103

104104
![13.4 ábra][6]
105105

106-
[6]: images/donut.png
106+
[6]: images/donut.png

it/django_orm/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ Ora puoi divertirti un po' ed aggiungere altri post per vedere come funziona. Ag
9595
Larga parte parte dei QuerySet consiste nell'abilità di filtrarli. Diciamo che vogliamo trovare tutti i post che hanno come autore l'Utente ola. Useremo `filter` invece di `all` in `Post.objects.all()`. Tra parentesi affermeremo le condizioni che un blog post deve soddisfare per finire nel nostro queryset. Nella nostra situazione è `autore` che è uguale a `me`. Il modo di scriverlo in Django è `autore=me`. Ora il nostro pezzo di codice ha questo aspetto:
9696

9797
>>> Post.objects.filter(author=me)
98-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
98+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
9999

100100

101101
O magari vogliamo vedere tutti i post che contengono la parola 'titolo' nel campo `titolo`?
102102

103103
>>> Post.objects.filter(title__contains='title')
104-
[<Post: Sample title>, <Post: 4th title of post>]
104+
<QuerySet [<Post: Sample title>, <Post: 4th title of post>]>
105105

106106

107107
> **Nota** ci sono due caratteri di sottolineatura (`_`) tra `titolo` e `contains`. L'ORM di Django usa questa sintassi per separare i nomi dei campi ("titolo") ed operazioni o filtri ("contiene"). Se usi solo un carattere di sottolineatura, otterrai un errore come "FieldError: non è possibile risolvere la parola chiave title_contains".
@@ -125,21 +125,21 @@ Ora pubblicalo con il nostro metodo `publish`!
125125
Ora cerca di ottenere di nuovo l'elenco dei post pubblicati (premere il pulsante di freccia in su 3 volte e premere `invio`):
126126

127127
>>> Post.objects.filter(published_date__lte=timezone.now())
128-
[<Post: Sample title>]
128+
<QuerySet [<Post: Sample title>]>
129129

130130

131131
### Ordinare gli oggetti
132132

133133
I QuerySet ti permettono anche di ordinare le liste di oggetti. Proviamo a ordinarli in base al campo `created_date`:
134134

135135
>>> Post.objects.order_by('created_date')
136-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
136+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
137137

138138

139139
Possiamo anche invertire l'ordine aggiungendo `-` all'inizio:
140140

141141
>>> Post.objects.order_by('-created_date')
142-
[<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]
142+
<QuerySet [<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]>
143143

144144

145145
### QuerySet di concatenamento

it/django_templates/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Prova questo nel tuo template `blog/templates/blog/post_list.html`. Sostituisci
2626

2727
Come vedi, quello che abbiamo è:
2828

29-
[<Post: My second post>, <Post: My first post>]
29+
<QuerySet [<Post: My second post>, <Post: My first post>]>
3030

3131

3232
Significa che Django lo vede come una lista di oggetti. Ricordi dalla **Introduzione a Python** come possiamo rendere visibili le liste? Sì, con for loops! In un template Django si fanno così:
@@ -102,4 +102,4 @@ Funziona come un incantesimo? Ne siamo fieri! Staccati dal computer per un po',
102102

103103
![Figura 13.4][6]
104104

105-
[6]: images/donut.png
105+
[6]: images/donut.png

ko/django_orm/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ PythonAnywhere가 아닌 로컬 컨솔에서 아래 명령을 입력하세요. :
9595
쿼리셋의 중요한 기능은 데이터를 필터링하는 거에요. 예를 들어, 우리는 ola라는 User가 작성한 모든 글을 찾고 싶다고 해볼게요. 이런 경우 `Post.objects.all()`에서 `all` 대신, `filter`를 사용합니다. 쿼리셋 안에 있는 괄호 안에 우리가 원하는 조건(들)을 넣어줄 거에요. 지금 이 경우에는 `author``me`인 조건을 넣어야겠죠. 이걸 장고로 표현한다면 `author=me`가 됩니다. 이제 이 조건이 반영된 코드를 볼까요. :
9696

9797
>>> Post.objects.filter(author=me)
98-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
98+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
9999

100100

101101
또는 모든 글들 중, `제목(title)`에 'title'이라는 글자가 들어간 글들만을 뽑아내서 보고 싶다면요?
102102

103103
>>> Post.objects.filter( title__contains='title' )
104-
[<Post: Sample title>, <Post: 4th title of post>]
104+
<QuerySet [<Post: Sample title>, <Post: 4th title of post>]>
105105

106106

107107
> **Note** `title``contains` 사이에 있는 밑줄(`_`)이 2개입니다. 장고 ORM은 필드 이름("title")과 연산자과 필터("contains")를 밑줄 2개를 사용해 구분합니다. 밑줄 1개만 입력한다면, "FieldError: Cannot resolve keyword title_contains"라는 오류가 뜰 거에요.
@@ -125,21 +125,21 @@ PythonAnywhere가 아닌 로컬 컨솔에서 아래 명령을 입력하세요. :
125125
이제 (위쪽 화살표 버튼 3번을 누르고 `enter`를 눌러) 다시 게시된 글의 목록을 가져와 봅시다.
126126

127127
>>> Post.objects.filter(published_date__lte=timezone.now())
128-
[<Post: Sample title>]
128+
<QuerySet [<Post: Sample title>]>
129129

130130

131131
### 정렬하기
132132

133133
퀘리셋은 객체 목록을 정렬도 할 수 있어요. 이제 `created_date` 필드를 정렬해봅시다. :
134134

135135
>>> Post.objects.order_by('created_date')
136-
[<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]
136+
<QuerySet [<Post: Sample title>, <Post: Post number 2>, <Post: My 3rd post!>, <Post: 4th title of post>]>
137137

138138

139139
`-`을 맨 앞에 붙여주면 내림차순으로 정렬도 가능해요. :
140140

141141
>>> Post.objects.order_by('-created_date')
142-
[<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]
142+
<QuerySet [<Post: 4th title of post>, <Post: My 3rd post!>, <Post: Post number 2>, <Post: Sample title>]>
143143

144144

145145
### 쿼리셋(QuerySets) 연결하기

ko/django_templates/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ __장고 템플릿 태그(Django template tags)__ 는 파이썬을 HTML로 바
2626

2727
우리는 아래와 같이 만들었어요. :
2828

29-
[<Post: My second post>, <Post: My first post>]
29+
<QuerySet [<Post: My second post>, <Post: My first post>]>
3030

3131

3232
이는 장고가 {{ posts}} 를 객체들의 목록으로 이해하고 처리했다는 것을 의미해요. **파이썬 들어가기** 에서 어떻게 목록을 보여줬는지 기억하고 있나요? 맞아요, for loop을 이용해서죠! 장고 템플릿에서는 이렇게 해야합니다. :

pl/django_orm/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ Możesz teraz się pobawić i utworzyć więcej wpisów, żeby zobaczyć, jak to
9595
Niezmiernie istotną cechą QuerySetów jest możliwość ich filtrowania. Dajmy na to, że chciałybyśmy znaleźć wszystkie wpisy dodane przez użytkowniczkę (User) o nazwie ola. Skorzystamy z metody `filter` zamiast `all` w `Post.objects.all()`. W nawiasach wpiszemy jeden lub więcej warunków, które muszą zostać spełnione, żeby nasz wpis znalazł się w QuerySecie. W naszej sytuacji chcemy, by `author` (autor) odpowiadał zmiennej `me`. W Django zapisujemy to tak: `author=me`. Teraz nasz kawałek kodu wygląda mniej więcej tak:
9696

9797
>>> Post.objects.filter(author=me)
98-
[<Post: Mój pierwszy wpis>, <Post: Kolejny tytuł wpisu>, <Post: Przykładowy tytuł>, <Post: Wpis numer 2>, <Post: Mój trzeci post!>, <Post: Czwarty tytuł>]
98+
<QuerySet [<Post: Mój pierwszy wpis>, <Post: Kolejny tytuł wpisu>, <Post: Przykładowy tytuł>, <Post: Wpis numer 2>, <Post: Mój trzeci post!>, <Post: Czwarty tytuł>]>
9999

100100

101101
A gdybyśmy chciały wyświetlić wszystkie wpisy zawierające słowo 'title' w polu `tytuł`?
102102

103103
>>> Post.objects.filter(title__contains = 'tytuł')
104-
[<Post: Kolejny tytuł wpisu>, <Post: Przykładowy tytuł>, <Post: Czwarty tytuł>]
104+
<QuerySet [<Post: Kolejny tytuł wpisu>, <Post: Przykładowy tytuł>, <Post: Czwarty tytuł>]>
105105

106106

107107
> **Uwaga:** Pomiędzy `title` a `contains` znajdują się dwa znaki podkreślenia (`_`). ORM w Django używa takiej składni, aby oddzielić nazwy pól ("title") od operacji lub filtrów ("contains"). Jeśli użyjesz tylko jednego, zobaczysz błąd o treści "FieldError: Cannot resolve keyword title_contains".
@@ -127,7 +127,7 @@ A następnie opublikuj go za pomocą metody `publish`!
127127
Teraz spróbujmy jeszcze raz wyświetlić listę opublikowanych wpisów (wciśnij trzykrotnie klawisz ze strzałką do góry, a następnie zatwierdź klawiszem `Enter`):
128128

129129
>>> Post.objects.filter(published_date__lte=timezone.now())
130-
[<Post: Przykładowy tytuł>]
130+
<QuerySet [<Post: Przykładowy tytuł>]>
131131

132132

133133
### Kolejność obiektów

pl/django_templates/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Spróbuj tak zrobić w szablonie` blog/templates/blog/post_list.html`. Zastąp w
2626

2727
Jak widzisz, dostaliśmy tylko tyle:
2828

29-
[<Post: My second post>, <Post: My first post>]
29+
<QuerySet [<Post: My second post>, <Post: My first post>]>
3030

3131

3232
Oznacza to tyle, że Django rozumie to jako listę obiektów. Pamiętasz z rozdziału **Wprowadzenie do Pythona**, jak możemy wyświetlić zawartość listy? Tak, za pomocą pętli for! W szablonie Django używamy ich w ten sposób:

0 commit comments

Comments
 (0)