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. 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
Field lookups
get(**kwargs)
~
2. Lookup type that yields a case-insensitive match.
select_related()
ManyToManyField
iexact
Abstract base class
3. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
distinct()
class attributes
month
save()
4. 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.
through argument
&
update()
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
5. Lookup type that tests for inclusion in a case-sensitive fashion.
contains
QuerySet
count()
clear() method
6. Defined by a ManyToManyField. You use it just like any other Field type: by including it as a class attribute of your model.
many-to-many relationship
choices tuple
using(alias)
delete()
7. restrictions on ________: (1) Your intermediate model must contain one - and only one - foreign key to the target model. (2) Your intermediate model must contain one - and only one - foreign key to the source model. (3) When defining a many-to-many r
class type
intermediate models
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
==
8. A Q object that encapsulates queries for entries with a question value that starts with 'What' in a case-insensitive fashion.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
9. 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
Model metadata
Manager methods
defer(*fields)
one-to-one relationship
10. This field is added automatically - but this behavior can be overridden
ForeignKey
Custom model methods
day
id field
11. Lookup type that returns results with a case-sensitive start sequence.
Model metadata
all()
startswith
Entry.objects.filter(id__in=[1 - 3 - 4])
12. Here - you can't use add - create - or assignment (i.e. - beatles.members = [...]) to create relationships. You need to specify all the detail for the relationship required by the intermediate model.
Many-to-many relationship through an intermediate model
get_or_create(**kwargs)
intermediate models
one-to-one relationship
13. This gives your model metadata.
Proxy model
only(*fields)
many-to-one relationship
Meta class
14. 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
count()
lte
F()
QuerySet
15. 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
filter
none()
Restrictions on field names
Entry.objects.filter(id__gt=4)
16. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.
annotate(args - *kwargs)
Model metadata
choices tuple
isnull
17. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
update(**kwargs)
only(*fields)
count()
aggregate(args - *kwargs)
18. Can be used to remove all many-to-many relationships for an instance
Multi-table inheritance
Entry.objects.filter(pub_date__year=2005).delete()
clear() method
iterator()
19. 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.
exists()
search
iexact
iteration
20. 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.
order_by(*fields)
regex
get(**kwargs)
|
21. A Q object that asks for entries with a question value that start with 'Who' or do not have a publication date of 2005.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
22. Lookup type for date/datetime fields that finds a 'day of the week' match.
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
week_day
slicing
many-to-many relationship
23. 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.
filter(**kwargs)
in_bulk(id_list)
Entry.objects.filter(pub_date__year=2005).delete()
reverse name
24. 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)
month
Entry.objects.filter(id__in=[1 - 3 - 4])
get_absolute_url()
25. Returns the object matching the given lookup parameters
get(**kwargs)
only(*fields)
delete()
values_list(*fields)
26. Exception raised by get(**kwargs) if more than one item matches the query.
in
only(*fields)
MultipleObjectsReturned
exists()
27. Conjuntion operator for Q objects.
Q()
&
range
distinct()
28. 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.
regex
gt
choices tuple
OneToOneField
29. Lookup type that returns results greater than a given value.
count()
defer(*fields)
gt
annotate(args - *kwargs)
30. 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.
only(*fields)
ManyToManyField
iexact
help_text
31. 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.
Q(question__istartswith='What')
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
only(*fields)
filter chaining
32. 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.
help_text
values(*fields)
filter(**kwargs)
exclude(**kwargs)
33. Lookup type for date/datetime fields that finds an exact day match.
range
day
Meta class
related_name
34. This query finds all entries with an id greater than 4.
pickling
evaluation
Entry.objects.filter(id__gt=4)
db
35. 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()
lt
model
when you add new apps to INSTALLED_APPS
evaluation
36. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
many-to-one relationship
related_name
exists()
model
37. 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
through argument
choices
isnull
select_related()
38. a QuerySet can be sliced - using Python's array-slicing syntax.
slicing
year
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
__unicode__()
39. Returns a new QuerySet containing objects that match the given lookup parameters.
F()
filter(**kwargs)
values(*fields)
reverse()
40. The default for this is the name of the child class followed by '_set'.
reverse name
year
iterator()
Multi-table inheritance
41. 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.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
42. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.
aggregate(args - *kwargs)
db
filter(**kwargs)
week_day
43. Manager method used to retrieve every object in a model.
all()
defer(*fields)
lte
ordered
44. 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
null
relationship spanning
filter(**kwargs)
latest(field_name=None)
45. True if the QuerySet has an order_by() clause or a default ordering on the model. False otherwise.
Many-to-many relationship to self
get(**kwargs)
reverse name
ordered
46. This class type is useful when you just want to use the parent class to hold information that you don't want to have to type out for each child model. This class isn't going to ever be used in isolation. When it is used as a base class for other mode
Abstract base class
reverse name
intermediate models
lte
47. Lookup type that finds a case-sensitive regular expression match.
==
regex
Abstract base class
month
48. Lookup type that returns results with a case-sensitive end sequence.
when you add new apps to INSTALLED_APPS
relationship spanning
endswith
only(*fields)
49. 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)
slicing
Custom model methods
startswith
Model metadata
50. Used to get a QuerySet for a model. This is called 'objects' by default.
null
help_text
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
Manager