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 new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
distinct()
month
in_bulk(id_list)
many-to-many relationship
2. This method immediately deletes the object and has no return value.
delete()
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
distinct()
when you add new apps to INSTALLED_APPS
3. Lookup type for date/datetime fields that finds a 'day of the week' match.
ManyToManyField
week_day
Custom model methods
MultipleObjectsReturned
4. 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.
evaluation
iexact
reverse()
range
5. Exception raised by get(**kwargs) if more than one item matches the query.
day
reverse()
MultipleObjectsReturned
select_related()
6. A convenience method for looking up an object with the given kwargs - creating one if necessary.
gte
relationship spanning
get_or_create(**kwargs)
Custom model methods
7. 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.
order_by(*fields)
MultipleObjectsReturned
day
help_text
8. This field is added automatically - but this behavior can be overridden
lt
id field
using(alias)
ordered
9. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
dates(field - kind - order='ASC')
select_related()
lte
related_name
10. Lookup type that returns results with a case-insensitive start sequence.
gte
istartswith
Field lookups
lte
11. This gives your model metadata.
~
Many-to-many relationship through an intermediate model
Meta class
delete()
12. 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.
exact
help_text
values(*fields)
ManyToManyField
13. Defined by a ManyToManyField. You use it just like any other Field type: by including it as a class attribute of your model.
null
pk
|
many-to-many relationship
14. 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()
Model metadata
class attributes
ForeignKey
15. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
F()
id field
month
count()
16. If this option is True - the field is allowed to be blank. Default is False.
blank
id field
&
reverse()
17. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.
update(**kwargs)
only(*fields)
Manager
isnull
18. Manager method used to retrieve every object in a model.
slicing
all()
Abstract base class
using(alias)
19. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
pickling
month
reverse()
id field
20. what the field _______ determines: (1) The database column type (e.g. INTEGER - VARCHAR); (2) The widget to use in Django's admin interface - if you care to use it (e.g. <input type="text"> - <select>); (3) The minimal validation requirements - used
OneToOneField
null
class type
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
21. Defined by a OneToOneField. You use it just like any other Field type: by including it as a class attribute of your model.
one-to-one relationship
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
update()
aggregate(args - *kwargs)
22. Lookup type that yields a case-insensitive match.
iexact
all()
filter(**kwargs)
relationship spanning
23. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
clear() method
db
primary_key
==
24. The database that will be used if this query is executed now
get(**kwargs)
one-to-one relationship
values_list(*fields)
db
25. Returns True if the QuerySet contains any results - and False if not. This tries to perform the query in the simplest and fastest way possible - but it does execute nearly the same query. This means that calling this method on a queryset is faster th
db
exists()
==
contains
26. These add custom "row-level" functionality to your objects. These act on a particular model instance.
reverse()
filter chaining
Custom model methods
in_bulk(id_list)
27. 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
choices tuple
defer(*fields)
regex
Entry.objects.filter(id__gt=4)
28. a QuerySet can be sliced - using Python's array-slicing syntax.
delete()
QuerySet
exact
slicing
29. 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.
create(**kwargs)
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
pk
null
30. Exception raised by get(**kwargs) if no items match the query.
help_text
in_bulk(id_list)
DoesNotExist
Q(question__istartswith='What')
31. Specifies the model that will be used to govern the many-to-many relationship. You can then put extra fields on the intermediate model. The intermediate model is associated with the ManyToManyField using this to point to the model that will act as an
==
latest(field_name=None)
update()
through argument
32. 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.
Entry.objects.filter(id__gt=4)
count()
OneToOneField
update()
33. Lookup type that returns results less than or equal to a given value.
defer(*fields)
in
lte
get_or_create(**kwargs)
34. This tells Django how to calculate the URL for an object. Django uses this in its admin interface - and any time it needs to figure out a URL for an object.
reverse name
get_absolute_url()
order_by(*fields)
filter(**kwargs)
35. To activate your models
iregex
values(*fields)
in_bulk(id_list)
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
36. This query finds all entries between a start date of start_date and an end date of end_date.
many-to-many relationship
Entry.objects.filter(pub_date__range=(start_date - end_date))
&
year
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.
db
class attributes
many-to-one relationship
Multi-table inheritance
38. If True - this field is the primary key for the model.
primary_key
none()
endswith
ManyToManyField
39. 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
Manager methods
only(*fields)
Multi-table inheritance
latest(field_name=None)
40. Negation operator for Q objects.
db
~
exclude(**kwargs)
search
41. 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.
in_bulk(id_list)
day
gte
Multi-table inheritance
42. 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
save()
get(**kwargs)
isnull
43. True if the QuerySet has an order_by() clause or a default ordering on the model. False otherwise.
values(*fields)
ordered
many-to-one relationship
Entry.objects.filter(id__in=[1 - 3 - 4])
44. If this option is True - Django will store empty values as NULL in the database. Default is False.
null
startswith
select_related()
Meta class
45. This model type is useful if you only want to modify the Python-level behavior of a model - without changing the models fields in any way. This creates a stand-in for the original model. You can create - delete and update instances of this new model
Proxy model
gte
values_list(*fields)
only(*fields)
46. A QuerySet is iterable - and it executes its database query the first time you iterate over it.
Custom model methods
Restrictions on field names
iteration
add()
47. 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.
month
filter(**kwargs)
get(**kwargs)
default
48. The default for this is the name of the child class followed by '_set'.
reverse name
get(**kwargs)
aggregate(args - *kwargs)
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
49. A convenience method for constructing an object and saving it all in one step.
create(**kwargs)
filter(**kwargs)
F()
search
50. Lookup type that returns results that fall into an inclusive date range.
choices tuple
aggregate(args - *kwargs)
none()
range