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 the most recent object in the table - by date - using the field_name provided as the date field.
iexact
Entry.objects.filter(pub_date__range=(start_date - end_date))
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
latest(field_name=None)
2. Fields are specified by these
reverse name
slicing
==
class attributes
3. 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
primary_key
week_day
through argument
update()
4. A Python "magic method" that returns a unicode "representation" of any object.
exists()
clear() method
blank
__unicode__()
5. 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.
id field
Restrictions on field names
get(**kwargs)
Many-to-many relationship through an intermediate model
6. 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
iteration
filter(**kwargs)
get(**kwargs)
only(*fields)
7. Negation operator for Q objects.
~
&
related_name
db
8. This query finds all entries with an id greater than 4.
gt
get_or_create(**kwargs)
values_list(*fields)
Entry.objects.filter(id__gt=4)
9. Lookup type that returns results that fall into an inclusive date range.
Entry.objects.filter(pub_date__year=2005).delete()
clear() method
Manager
range
10. This is a criterion that narrow down a QuerySet based on given parameters.
year
all()
filter
choices tuple
11. Manager method used to retrieve every object in a model.
ManyToManyField
all()
isnull
db
12. This field is added automatically - but this behavior can be overridden
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.
pk
id field
13. A Q object that asks for entries with a question value that start with 'Who' or do not have a publication date of 2005.
14. Lookup type that finds a case-sensitive regular expression match.
unique
add()
ManyToManyField
regex
15. Lookup type for date/datetime fields that finds a 'day of the week' match.
Custom model methods
exclude(**kwargs)
day
week_day
16. 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.
choices
get_absolute_url()
class attributes
Entry.objects.filter(id__in=[1 - 3 - 4])
17. Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
get(**kwargs)
iregex
distinct()
Multi-table inheritance
18. 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.
iterator()
related_name
reverse()
class type
19. 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.
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
Many-to-many relationship to self
Entry.objects.filter(id__gt=4)
blank
20. Lookup type that tests for inclusion in a case-sensitive fashion.
exclude(**kwargs)
contains
istartswith
iexact
21. Lookup type that finds a case-insensitive regular expression match.
Q(question__istartswith='What')
~
range
iregex
22. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.
exclude(**kwargs)
get(**kwargs)
Restrictions on field names
class attributes
23. 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.
using(alias)
get(**kwargs)
defer(*fields)
only(*fields)
24. Exception raised by get(**kwargs) if no items match the query.
DoesNotExist
filter(**kwargs)
iterator()
default
25. 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.
class attributes
annotate(args - *kwargs)
OneToOneField
search
26. 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
month
Entry.objects.filter(pub_date__year=2005).delete()
exists()
delete()
27. Lookup type for date/datetime fields that finds an exact year match. Takes a four-digit year.
year
exists()
QuerySet
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
28. 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
intermediate models
__unicode__()
endswith
distinct()
29. Defined by a ManyToManyField. You use it just like any other Field type: by including it as a class attribute of your model.
get_absolute_url()
Manager
many-to-many relationship
id field
30. 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.
Proxy model
Abstract base class
DoesNotExist
delete()
31. True if the QuerySet has an order_by() clause or a default ordering on the model. False otherwise.
evaluation
filter(**kwargs)
ordered
&
32. Conjuntion operator for Q objects.
&
Many-to-many relationship through an intermediate model
model
get(**kwargs)
33. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.
values(*fields)
all()
ManyToManyField
blank
34. Lookup type that returns results greater than a given value.
get(**kwargs)
choices tuple
primary_key
gt
35. Each one of these is a Python class that subclasses django.db.models.Model. Each attribute of one of these represents a database field.
month
contains
model
|
36. Lookup type that returns results with a case-sensitive start sequence.
endswith
startswith
aggregate(args - *kwargs)
ForeignKey
37. Used to get a QuerySet for a model. This is called 'objects' by default.
pk
null
Manager
get(**kwargs)
38. Lookup type that returns results less than or equal to a given value.
Q()
delete()
lte
in_bulk(id_list)
39. If this option is True - Django will store empty values as NULL in the database. Default is False.
Entry.objects.filter(pub_date__range=(start_date - end_date))
Manager methods
null
choices tuple
40. A Q object that encapsulates queries for entries with a question value that starts with 'What' in a case-insensitive fashion.
41. This model method is used for updating a ManyToManyField.
db
add()
all()
when you add new apps to INSTALLED_APPS
42. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
gte
only(*fields)
latest(field_name=None)
==
43. 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
get_absolute_url()
one-to-one relationship
Abstract base class
44. A convenience method for looking up an object with the given kwargs - creating one if necessary.
Custom model methods
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
db
get_or_create(**kwargs)
45. A convenience method for constructing an object and saving it all in one step.
create(**kwargs)
startswith
choices
latest(field_name=None)
46. If True - this field is the primary key for the model.
pickling
primary_key
related_name
db
47. 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
relationship spanning
week_day
get_or_create(**kwargs)
QuerySet
48. 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.
QuerySet
get(**kwargs)
choices
evaluation
49. Keyword shortcut for looking up an object by primary key.
model
pk
QuerySet
ordered
50. Defines a many-to-one relationship. ou use it just like any other Field type: by including it as a class attribute of your model.
&
ForeignKey
Manager
Q(question__istartswith='What')