SUBJECTS
|
BROWSE
|
CAREER CENTER
|
POPULAR
|
JOIN
|
LOGIN
Business Skills
|
Soft Skills
|
Basic Literacy
|
Certifications
About
|
Help
|
Privacy
|
Terms
|
Email
Search
Test your basic knowledge |
Django Queryset
Start Test
Study First
Subject
:
it-skills
Instructions:
Answer 50 questions in 15 minutes.
If you are not ready to take this test, you can
study here
.
Match each statement with the correct term.
Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.
This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. This object allows you to compare the value of a model field with another field on the same model. Django supports the use of addition - subtraction - multiplication - division and modulo arithmetic with these objects - both with constants and with o
one-to-one relationship
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
F()
help_text
2. (1) These cannot be Python reserved words - because that would result in a Python syntax error. (2) These cannot contain more than one underscore in a row - due to the way Django's query lookup syntax works.
when you add new apps to INSTALLED_APPS
__unicode__()
Restrictions on field names
Model metadata
3. Extra text to be displayed under the field on the object's admin form to provide assistance to users. It's useful for documentation even if your object doesn't have an admin form.
Proxy model
exact
Field lookups
help_text
4. Performs an SQL update query for the specified fields - and returns the number of rows affected. This method is applied instantly and the only restriction on the QuerySet that is updated is that it can only update columns in the model's main table. F
update(**kwargs)
regex
values_list(*fields)
distinct()
5. An iterable (e.g. - a list or tuple) of 2-tuples to use as options for this field. If this is given - Django's admin will use a select box instead of the standard text field and will limit options to those given.
annotate(args - *kwargs)
get_absolute_url()
delete()
choices
6. In this case - an intermediate model can have multiple foreign keys to the source model. Here - two foreign keys to the same model are permitted - but they will be treated as the two (different) sides of the many-to-many relation.
Manager
using(alias)
Many-to-many relationship to self
MultipleObjectsReturned
7. This model method saves a model instance to the database. This method has no return value.
save()
iexact
pickling
latest(field_name=None)
8. When to run syncdb
iregex
aggregate(args - *kwargs)
blank
when you add new apps to INSTALLED_APPS
9. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
related_name
==
exists()
OneToOneField
10. This query deletes all Entry objects with a pub_date year of 2005.
MultipleObjectsReturned
Entry.objects.filter(pub_date__year=2005).delete()
filter chaining
delete()
11. Lookup type that returns results with a case-sensitive end sequence.
filter(**kwargs)
&
DoesNotExist
endswith
12. This method is more or less the opposite of defer(). You call it with the fields that should not be deferred when retrieving a model. If you have a model where almost all the fields need to be deferred - using this method to specify the complementary
only(*fields)
update(**kwargs)
Entry.objects.filter(id__gt=4)
month
13. Lookup type that corresponds to a boolean full-text search - taking advantage of full-text indexing. This is like contains but is significantly faster due to full-text indexing.
model
search
ForeignKey
update()
14. This method returns tuples of values when iterated over. Each tuple contains the value from the respective field passed into the call to this method -- so the first item is the first field - etc.
values_list(*fields)
get(**kwargs)
when you add new apps to INSTALLED_APPS
exclude(**kwargs)
15. Defines a many-to-many relationship. You use it just like any other Field type: by including it as a class attribute of your model.
==
ManyToManyField
Q()
all()
16. Used to get a QuerySet for a model. This is called 'objects' by default.
Manager
in_bulk(id_list)
reverse name
only(*fields)
17. These methods are intended to do "table-wide" things.
db
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
get(**kwargs)
Manager methods
18. This query finds all entries between a start date of start_date and an end date of end_date.
Entry.objects.filter(pub_date__range=(start_date - end_date))
create(**kwargs)
blank
iendswith
19. This query finds all entries with an id in the list [1 - 3 - 4]
get(**kwargs)
Entry.objects.filter(id__in=[1 - 3 - 4])
choices
delete()
20. Exception raised by get(**kwargs) if more than one item matches the query.
MultipleObjectsReturned
get(**kwargs)
gt
iexact
21. Takes the ouput of one filter and uses it as input for another filter. This works because a refinement of a QuerySet is itself a QuerySet.
filter(**kwargs)
filter chaining
pickling
iterator()
22. A convenience method for looking up an object with the given kwargs - creating one if necessary.
~
get_or_create(**kwargs)
istartswith
order_by(*fields)
23. Lookup type for date/datetime fields that finds a 'day of the week' match.
week_day
Many-to-many relationship to self
distinct()
Manager
24. A convenience method for constructing an object and saving it all in one step.
startswith
primary_key
create(**kwargs)
Model metadata
25. By default - results returned by a QuerySet are ordered by the ordering tuple given by the ordering option in the model's Meta. You can override this on a per-QuerySet basis by using the this method.
filter(**kwargs)
__unicode__()
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
order_by(*fields)
26. This field is added automatically - but this behavior can be overridden
filter(**kwargs)
filter(**kwargs)
Abstract base class
id field
27. True if the QuerySet has an order_by() clause or a default ordering on the model. False otherwise.
many-to-one relationship
choices
ordered
model
28. Lookup type that returns results less than a given value.
Custom model methods
endswith
year
lt
29. Performs an SQL delete query on all rows in the QuerySet. This method is applied instantly. You cannot call this method on a QuerySet that has had a slice taken or can otherwise no longer be filtered.
model
delete()
contains
all()
30. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
choices
OneToOneField
month
none()
31. Use this method to reverse the order in which a queryset's elements are returned. Calling this method a second time restores the ordering back to the normal direction.
gt
Entry.objects.filter(id__in=[1 - 3 - 4])
reverse()
ordered
32. Each one of these is a Python class that subclasses django.db.models.Model. Each attribute of one of these represents a database field.
Proxy model
null
day
model
33. Lookup type that returns results less than or equal to a given value.
lte
~
many-to-one relationship
ordered
34. a QuerySet can be sliced - using Python's array-slicing syntax.
in_bulk(id_list)
pickling
Entry.objects.filter(pub_date__year=2005).delete()
slicing
35. Lookup type that returns results in a given list.
order_by(*fields)
in
primary_key
day
36. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
count()
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
add()
select_related()
37. This gives your model metadata.
Meta class
gte
Restrictions on field names
year
38. Returns a new QuerySet containing objects that match the given lookup parameters.
add()
class attributes
filter(**kwargs)
ManyToManyField
39. Defines a one-to-one relationship. You use it just like any other Field type: by including it as a class attribute of your model.
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
id field
iterator()
OneToOneField
40. These are "anything that's not a field" - such as ordering options (ordering) - database table name (db_table) - or human-readable singular and plural names (verbose_name and verbose_name_plural)
iendswith
choices tuple
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
Model metadata
41. Evaluates the QuerySet (by performing the query) and returns an iterator over the results. A QuerySet typically caches its results internally so that repeated evaluations do not result in additional queries; this method will instead read results dire
iterator()
in
month
many-to-many relationship
42. This query finds all entries with an id greater than 4.
unique
Entry.objects.filter(id__gt=4)
Restrictions on field names
in_bulk(id_list)
43. Evaluation happens upon use the "step" parameter of slice syntax - the first time you iterate over it - when pickling or caching results - upon calling repr() - upon calling len() - upon calling list() - upon calling bool()
Entry.objects.filter(pub_date__year=2005).delete()
evaluation
in
db
44. Returns a copy of the current QuerySet (or QuerySet subclass you pass in). This can be useful in some situations where you might want to pass in either a model manager or a QuerySet and do further filtering on the result. You can safely call all() on
all()
Proxy model
Restrictions on field names
choices
45. Fields are specified by these
Proxy model
defer(*fields)
class attributes
Custom model methods
46. This query updates all the headlines with pub_date in 2007 to read 'Everything is the same'.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
47. A manager method which returns a single object. If there are no results that match the query - this method will raise a DoesNotExist exception. If more than one item matches this query - the method will raise MultipleObjectsReturned.
evaluation
get(**kwargs)
search
month
48. In some complex data-modeling situations - your models might contain a lot of fields - some of which could contain a lot of data (for example - text fields) - or require expensive processing to convert them to Python objects. If you are using the res
Entry.objects.filter(pub_date__range=(start_date - end_date))
delete()
id field
defer(*fields)
49. Defined by django.db.models.ForeignKey. You use it just like any other Field type: by including it as a class attribute of your model.
Custom model methods
many-to-one relationship
delete()
search
50. Disjunction operator for Q objects.
exclude(**kwargs)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
|
gte