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. Returns a QuerySet that will automatically "follow" foreign-key relationships - selecting that additional related-object data when it executes its query. This is a performance booster which results in (sometimes much) larger queries but means later u
&
OneToOneField
select_related()
distinct()
2. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.
filter(**kwargs)
Field lookups
clear() method
many-to-one relationship
3. The first element in this iterable is the value that will be stored in the database - the second element will be displayed by the admin interface - or in a ModelChoiceField.
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
primary_key
choices tuple
get_or_create(**kwargs)
4. 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
defer(*fields)
delete()
startswith
pickling
5. 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.
&
Many-to-many relationship to self
select_related()
ManyToManyField
6. 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.
aggregate(args - *kwargs)
intermediate models
add()
reverse()
7. 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
defer(*fields)
week_day
in_bulk(id_list)
F()
8. Lookup type that returns results with a case-insensitive end sequence.
iendswith
many-to-one relationship
intermediate models
reverse name
9. Lookup type that yields an "exact" match. If you don't provide a lookup type -- that is - if your keyword argument doesn't contain a double underscore -- the lookup type is assumed to be of this sort.
OneToOneField
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
exact
exists()
10. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.
values(*fields)
filter(**kwargs)
Entry.objects.filter(pub_date__range=(start_date - end_date))
in_bulk(id_list)
11. 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
delete()
__unicode__()
only(*fields)
exists()
12. Returns the most recent object in the table - by date - using the field_name provided as the date field.
update(**kwargs)
latest(field_name=None)
filter chaining
save()
13. 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.
Field lookups
values_list(*fields)
Q()
values(*fields)
14. These methods are intended to do "table-wide" things.
Abstract base class
filter(**kwargs)
Manager methods
one-to-one relationship
15. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
one-to-one relationship
intermediate models
lte
related_name
16. A convenience method for constructing an object and saving it all in one step.
filter
create(**kwargs)
order_by(*fields)
in
17. 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
Entry.objects.filter(pub_date__range=(start_date - end_date))
Entry.objects.filter(pub_date__year=2005).delete()
Model metadata
18. Takes a list of primary-key values and returns a dictionary mapping each primary-key value to an instance of the object with the given ID.
Entry.objects.filter(id__gt=4)
in_bulk(id_list)
ManyToManyField
range
19. 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
Proxy model
==
all()
intermediate models
20. The default for this is the name of the child class followed by '_set'.
Field lookups
only(*fields)
range
reverse name
21. A convenience method for looking up an object with the given kwargs - creating one if necessary.
Manager
reverse()
get_or_create(**kwargs)
iteration
22. The database that will be used if this query is executed now
get(**kwargs)
db
|
get_or_create(**kwargs)
23. 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.
add()
isnull
help_text
endswith
24. If this option is True - the field is allowed to be blank. Default is False.
class type
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
filter(**kwargs)
blank
25. Can be used to remove all many-to-many relationships for an instance
all()
contains
exists()
clear() method
26. 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
iteration
update(**kwargs)
Many-to-many relationship through an intermediate model
istartswith
27. The value given in the absence of a specified value for the field. This can be a value or a callable object. If callable it will be called every time a new object is created.
week_day
get_or_create(**kwargs)
default
delete()
28. Lookup type for date/datetime fields that finds an exact year match. Takes a four-digit year.
reverse()
~
unique
year
29. This object encapsulates a collection of keyword arguments - with the keys being field lookup types. These objects can be combined using the & and | operators - as well as negated with the ~ operator.
Q()
__unicode__()
add()
null
30. If True - this field is the primary key for the model.
choices
primary_key
Many-to-many relationship to self
select_related()
31. a QuerySet can be sliced - using Python's array-slicing syntax.
values(*fields)
regex
slicing
get(**kwargs)
32. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.
distinct()
Multi-table inheritance
isnull
filter
33. Conjuntion operator for Q objects.
&
regex
iteration
pickling
34. This represents a collection of objects from your database. It can have zero - one or many filters.
db
QuerySet
iregex
evaluation
35. 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.
Many-to-many relationship to self
aggregate(args - *kwargs)
defer(*fields)
when you add new apps to INSTALLED_APPS
36. This query finds all entries with an id in the list [1 - 3 - 4]
iexact
class attributes
gte
Entry.objects.filter(id__in=[1 - 3 - 4])
37. This style of inheritanc is useful when you're subclassing an existing model (perhaps something from another application entirely) and want each model to have its own database table. Here - each model in the hierarchy is a model all by itself.
filter(**kwargs)
OneToOneField
select_related()
Multi-table inheritance
38. This is a criterion that narrow down a QuerySet based on given parameters.
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
filter
~
ForeignKey
39. 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
ManyToManyField
class type
none()
iterator()
40. 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.
Custom model methods
unique
choices
month
41. A QuerySet is iterable - and it executes its database query the first time you iterate over it.
pk
iteration
Many-to-many relationship through an intermediate model
blank
42. This method immediately deletes the object and has no return value.
intermediate models
ForeignKey
delete()
dates(field - kind - order='ASC')
43. Lookup type that returns results less than a given value.
lte
exclude(**kwargs)
lt
many-to-many relationship
44. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
&
contains
Field lookups
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
45. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
iterator()
==
~
all()
46. Lookup type that yields a case-insensitive match.
ForeignKey
iexact
get(**kwargs)
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
47. A Python "magic method" that returns a unicode "representation" of any object.
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
dates(field - kind - order='ASC')
__unicode__()
delete()
48. Sometimes - the Django query syntax by itself can't easily express a complex WHERE clause. For these edge cases - Django provides this QuerySet modifier -- a hook for injecting specific clauses into the SQL generated by a QuerySet.
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
select_related()
get_or_create(**kwargs)
get(**kwargs)
49. This gives your model metadata.
startswith
aggregate(args - *kwargs)
Meta class
get(**kwargs)
50. Returns a DateQuerySet -- a QuerySet that evaluates to a list of datetime.datetime objects representing all available dates of a particular kind within the contents of the QuerySet.