2009-10-09 13 views

risposta

38

Non so se si ha realmente bisogno di un esempio, è abbastanza facile:

  • se sai che è un oggetto che corrisponde alla tua ricerca, clicca ottenere. Fallirà se è più di uno.
  • altrimenti usa il filtro, che ti dà una lista di oggetti.

Per essere più precisi:

  • MyTable.objects.get(id=x).whatever ti dà la proprietà whatever del vostro oggetto.

get() solleva MultipleObjectsReturned se è stato trovato più di un oggetto. L'eccezione MultipleObjectsReturned è un attributo della classe del modello .

get() genera un'eccezione DoesNotExist se non è stato trovato un oggetto per i parametri specificati . Questa eccezione è anche un attributo della classe del modello.

  • MyTable.objects.filter(somecolumn=x) non è utilizzabile solo come una lista, ma si può anche interrogare di nuovo, qualcosa di simile a MyTable.objects.filter(somecolumn=x).order_by('date').
  • La ragione è che in realtà non è un elenco, ma un oggetto query. Puoi scorrere attraverso di esso come attraverso un elenco: for obj in MyTable.objects.filter(somecolumn=x)
Problemi correlati