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. 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.
choices
Manager methods
help_text
iterator()
2. Manager method used to retrieve every object in a model.
ordered
update(**kwargs)
all()
Custom model methods
3. The default for this is the name of the child class followed by '_set'.
Meta class
all()
reverse name
id field
4. Accomplish this by using the field name of related fields across models - separated by double underscores - until you get to the field you want. For example - to get all Entry objects with a Blog whose name is 'Beatles Blog': Entry.objects.filter(blo
Q()
relationship spanning
week_day
pk
5. Lookup type that finds a case-sensitive regular expression match.
get_absolute_url()
regex
|
in
6. 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)
Multi-table inheritance
save()
startswith
7. This query finds all entries with an id greater than 4.
get(**kwargs)
evaluation
choices
Entry.objects.filter(id__gt=4)
8. This query finds all entries with an id in the list [1 - 3 - 4]
Meta class
Q(question__istartswith='What')
Entry.objects.filter(id__in=[1 - 3 - 4])
pk
9. If True - this field is the primary key for the model.
primary_key
relationship spanning
&
model
10. Returns a dictionary of aggregate values (averages - sums - etc) calculated over the QuerySet. Each argument to this method specifies a value that will be included in the dictionary that is returned.
values(*fields)
class attributes
aggregate(args - *kwargs)
filter chaining
11. 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()
evaluation
reverse()
using(alias)
Entry.objects.filter(pub_date__year=2005).delete()
12. 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.
db
Abstract base class
aggregate(args - *kwargs)
get_absolute_url()
13. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.
dates(field - kind - order='ASC')
filter(**kwargs)
Abstract base class
primary_key
14. This sets a field to a particular value for all the objects in a QuerySet. You can only set non-relation fields and ForeignKey fields using this method.
default
update(**kwargs)
isnull
update()
15. 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.
many-to-one relationship
all()
Entry.objects.filter(pub_date__year=2005).delete()
OneToOneField
16. 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.
get(**kwargs)
count()
&
pk
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)
Model metadata
aggregate(args - *kwargs)
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
Abstract base class
18. 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.
gte
exact
Manager methods
latest(field_name=None)
19. This is a criterion that narrow down a QuerySet based on given parameters.
filter
pk
ForeignKey
when you add new apps to INSTALLED_APPS
20. Conjuntion operator for Q objects.
&
Entry.objects.filter(id__in=[1 - 3 - 4])
Proxy model
Custom model methods
21. This gives your model metadata.
null
lte
Meta class
Entry.objects.filter(id__gt=4)
22. If this option is True - Django will store empty values as NULL in the database. Default is False.
|
null
filter(**kwargs)
reverse()
23. These add custom "row-level" functionality to your objects. These act on a particular model instance.
in_bulk(id_list)
Proxy model
unique
Custom model methods
24. 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.
ForeignKey
update()
day
Q()
25. If this option is True - the field is allowed to be blank. Default is False.
Q()
~
reverse()
blank
26. Disjunction operator for Q objects.
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
Entry.objects.filter(pub_date__range=(start_date - end_date))
Restrictions on field names
|
27. 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
many-to-one relationship
all()
model
DoesNotExist
28. 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
iendswith
class type
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
lt
29. Returns an EmptyQuerySet -- a QuerySet that always evaluates to an empty list. This can be used in cases where you know that you should return an empty result set and your caller is expecting a QuerySet object (instead of returning an empty list - fo
none()
slicing
values(*fields)
Many-to-many relationship to self
30. Lookup type that returns results greater than a given value.
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
gt
endswith
update()
31. Lookup type that returns results with a case-insensitive end sequence.
&
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
class attributes
iendswith
32. This query deletes all Entry objects with a pub_date year of 2005.
model
Custom model methods
Entry.objects.filter(pub_date__year=2005).delete()
Abstract base class
33. If True - the table does not permit duplicate values for this field.
unique
Abstract base class
Entry.objects.filter(pub_date__range=(start_date - end_date))
Many-to-many relationship through an intermediate model
34. 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.
none()
one-to-one relationship
delete()
Multi-table inheritance
35. A convenience method for looking up an object with the given kwargs - creating one if necessary.
isnull
null
choices
get_or_create(**kwargs)
36. 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
id field
filter(**kwargs)
Entry.objects.filter(pub_date__year=2005).delete()
update(**kwargs)
37. 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
regex
Restrictions on field names
Proxy model
distinct()
38. Lookup type for date/datetime fields that finds a 'day of the week' match.
week_day
intermediate models
clear() method
ForeignKey
39. Can be used to remove all many-to-many relationships for an instance
isnull
Manager methods
only(*fields)
clear() method
40. A convenience method for constructing an object and saving it all in one step.
order_by(*fields)
create(**kwargs)
id field
help_text
41. 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
exists()
day
choices
class attributes
42. This query finds all entries between a start date of start_date and an end date of end_date.
get_absolute_url()
through argument
Entry.objects.filter(pub_date__range=(start_date - end_date))
many-to-one relationship
43. 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.
class type
only(*fields)
update(**kwargs)
Many-to-many relationship to self
44. A Q object that asks for entries with a question value that start with 'Who' or do not have a publication date of 2005.
45. Lookup type that returns results with a case-sensitive end sequence.
search
one-to-one relationship
OneToOneField
endswith
46. Lookup type that tests for inclusion in a case-sensitive fashion.
contains
many-to-one relationship
Abstract base class
endswith
47. Lookup type that yields a case-insensitive match.
iexact
Entry.objects.filter(id__gt=4)
id field
get(**kwargs)
48. 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.
Manager methods
lt
isnull
ManyToManyField
49. Lookup type that returns results in a given list.
in
get(**kwargs)
exists()
all()
50. 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.
get(**kwargs)
year
help_text
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)