SUBJECTS
|
BROWSE
|
CAREER CENTER
|
POPULAR
|
JOIN
|
LOGIN
Business Skills
|
Soft Skills
|
Basic Literacy
|
Certifications
About
|
Help
|
Privacy
|
Terms
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. These methods are intended to do "table-wide" things.
filter
unique
startswith
Manager methods
2. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
class type
get_or_create(**kwargs)
related_name
unique
3. 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
choices
select_related()
day
relationship spanning
4. 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.
filter(**kwargs)
DoesNotExist
Meta class
OneToOneField
5. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
month
many-to-one relationship
save()
gte
6. Exception raised by get(**kwargs) if no items match the query.
Proxy model
DoesNotExist
through argument
dates(field - kind - order='ASC')
7. Lookup type that returns results greater than or equal to a given value.
gte
Model metadata
filter chaining
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
8. If True - the table does not permit duplicate values for this field.
unique
iterator()
Field lookups
exists()
9. 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.
in
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
Q()
choices tuple
10. If you pickle a QuerySet - this will force all the results to be loaded into memory prior to pickling. When you unpickle a QuerySet - it contains the results at the moment it was pickled - rather than the results that are currently in the database.
intermediate models
pickling
values(*fields)
slicing
11. 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.
Entry.objects.filter(pub_date__range=(start_date - end_date))
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
slicing
order_by(*fields)
12. These add custom "row-level" functionality to your objects. These act on a particular model instance.
Custom model methods
order_by(*fields)
in_bulk(id_list)
Manager methods
13. 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.
filter(**kwargs)
id field
Meta class
Many-to-many relationship to self
14. 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
id field
Restrictions on field names
Proxy model
only(*fields)
15. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
month
iterator()
==
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
16. Lookup type that yields a case-insensitive match.
get_or_create(**kwargs)
update(**kwargs)
iexact
ordered
17. 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.
distinct()
db
default
none()
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.
default
Field lookups
ForeignKey
reverse()
19. 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.
blank
filter chaining
filter(**kwargs)
year
20. This query finds all entries with an id in the list [1 - 3 - 4]
pickling
iregex
Abstract base class
Entry.objects.filter(id__in=[1 - 3 - 4])
21. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.
exclude(**kwargs)
dates(field - kind - order='ASC')
Q()
get_absolute_url()
22. This represents a collection of objects from your database. It can have zero - one or many filters.
latest(field_name=None)
class attributes
regex
QuerySet
23. 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.
year
F()
ForeignKey
pickling
24. 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)
id field
aggregate(args - *kwargs)
&
Model metadata
25. 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
in_bulk(id_list)
none()
F()
|
26. 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.
filter
Many-to-many relationship through an intermediate model
Q()
blank
27. Lookup type that returns results greater than a given value.
Custom model methods
gt
iendswith
relationship spanning
28. Fields are specified by these
Multi-table inheritance
filter(**kwargs)
class attributes
model
29. 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
Field lookups
blank
null
30. This gives your model metadata.
pk
Meta class
Q(question__istartswith='What')
startswith
31. 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()
range
evaluation
aggregate(args - *kwargs)
|
32. Returns a new QuerySet containing objects that match the given lookup parameters.
Field lookups
OneToOneField
&
filter(**kwargs)
33. 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.
lte
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
month
get(**kwargs)
34. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.
choices tuple
isnull
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
choices
35. 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.
slicing
values_list(*fields)
select_related()
reverse name
36. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
latest(field_name=None)
Field lookups
one-to-one relationship
create(**kwargs)
37. 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.
38. This query finds all entries between a start date of start_date and an end date of end_date.
|
F()
through argument
Entry.objects.filter(pub_date__range=(start_date - end_date))
39. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
latest(field_name=None)
count()
filter(**kwargs)
|
40. A Q object that encapsulates queries for entries with a question value that starts with 'What' in a case-insensitive fashion.
41. Lookup type that returns results less than or equal to a given value.
dates(field - kind - order='ASC')
lte
ordered
filter(**kwargs)
42. a QuerySet can be sliced - using Python's array-slicing syntax.
slicing
create(**kwargs)
in_bulk(id_list)
all()
43. 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.
values_list(*fields)
ManyToManyField
unique
lte
44. This field is added automatically - but this behavior can be overridden
id field
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
get(**kwargs)
through argument
45. 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.
Entry.objects.filter(pub_date__year=2005).delete()
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
exists()
in_bulk(id_list)
46. 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()
dates(field - kind - order='ASC')
filter(**kwargs)
Restrictions on field names
47. Lookup type that tests for inclusion in a case-sensitive fashion.
Many-to-many relationship through an intermediate model
contains
__unicode__()
create(**kwargs)
48. A convenience method for looking up an object with the given kwargs - creating one if necessary.
get_or_create(**kwargs)
get(**kwargs)
add()
one-to-one relationship
49. Lookup type for date/datetime fields that finds an exact day match.
Restrictions on field names
Proxy model
day
endswith
50. 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.
|
get_or_create(**kwargs)
exact
range