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 an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
count()
Proxy model
exists()
all()
2. Exception raised by get(**kwargs) if more than one item matches the query.
MultipleObjectsReturned
get(**kwargs)
annotate(args - *kwargs)
Abstract base class
3. Returns the most recent object in the table - by date - using the field_name provided as the date field.
year
save()
latest(field_name=None)
get_or_create(**kwargs)
4. 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
defer(*fields)
get_absolute_url()
using(alias)
Field lookups
5. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.
week_day
ordered
Entry.objects.filter(pub_date__range=(start_date - end_date))
values(*fields)
6. 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.
using(alias)
ForeignKey
exact
model
7. A convenience method for constructing an object and saving it all in one step.
help_text
using(alias)
Many-to-many relationship to self
create(**kwargs)
8. Negation operator for Q objects.
Many-to-many relationship through an intermediate model
~
none()
relationship spanning
9. If this option is True - the field is allowed to be blank. Default is False.
when you add new apps to INSTALLED_APPS
blank
lt
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
10. 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.
month
order_by(*fields)
QuerySet
search
11. 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
class type
Many-to-many relationship through an intermediate model
search
get_absolute_url()
12. Lookup type that returns results with a case-sensitive start sequence.
startswith
get_or_create(**kwargs)
gte
db
13. Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
endswith
order_by(*fields)
distinct()
when you add new apps to INSTALLED_APPS
14. 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.
Many-to-many relationship to self
model
class type
Custom model methods
15. This query finds all entries between a start date of start_date and an end date of end_date.
Manager methods
iteration
unique
Entry.objects.filter(pub_date__range=(start_date - end_date))
16. Manager method used to retrieve every object in a model.
gte
ManyToManyField
all()
OneToOneField
17. If True - this field is the primary key for the model.
iregex
primary_key
one-to-one relationship
related_name
18. 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
only(*fields)
exists()
class type
count()
19. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.
unique
filter(**kwargs)
through argument
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
20. Conjuntion operator for Q objects.
get(**kwargs)
&
clear() method
filter
21. This query finds all entries with an id in the list [1 - 3 - 4]
save()
Entry.objects.filter(id__in=[1 - 3 - 4])
iterator()
ManyToManyField
22. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.
model
related_name
clear() method
primary_key
23. This method immediately deletes the object and has no return value.
ForeignKey
delete()
count()
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
24. If this option is True - Django will store empty values as NULL in the database. Default is False.
week_day
null
in_bulk(id_list)
iterator()
25. If True - the table does not permit duplicate values for this field.
Restrictions on field names
range
ForeignKey
unique
26. 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
Q(question__istartswith='What')
Abstract base class
db
get_absolute_url()
27. Lookup type that returns results that fall into an inclusive date range.
range
values(*fields)
one-to-one relationship
get_absolute_url()
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.
when you add new apps to INSTALLED_APPS
QuerySet
choices tuple
Meta class
29. 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
iendswith
exists()
class attributes
intermediate models
30. Lookup type for date/datetime fields that finds an exact day match.
in_bulk(id_list)
day
Q()
intermediate models
31. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
F()
slicing
all()
month
32. This query uses an F object to increment the pingback count for every entry in the blog.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
33. These add custom "row-level" functionality to your objects. These act on a particular model instance.
Custom model methods
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
OneToOneField
create(**kwargs)
34. Each one of these is a Python class that subclasses django.db.models.Model. Each attribute of one of these represents a database field.
Many-to-many relationship to self
iterator()
day
model
35. Lookup type that returns results with a case-sensitive end sequence.
MultipleObjectsReturned
choices
contains
endswith
36. 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.
reverse name
values(*fields)
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
intermediate models
37. These methods are intended to do "table-wide" things.
Manager methods
id field
evaluation
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
38. Lookup type that tests for inclusion in a case-sensitive fashion.
distinct()
relationship spanning
contains
Meta class
39. Lookup type that finds a case-sensitive regular expression match.
values(*fields)
Q()
regex
exclude(**kwargs)
40. Lookup type that returns results with a case-insensitive start sequence.
when you add new apps to INSTALLED_APPS
range
istartswith
count()
41. (1) These cannot be Python reserved words - because that would result in a Python syntax error. (2) These cannot contain more than one underscore in a row - due to the way Django's query lookup syntax works.
iexact
range
clear() method
Restrictions on field names
42. 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
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
delete()
default
Proxy model
43. 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
44. a QuerySet can be sliced - using Python's array-slicing syntax.
when you add new apps to INSTALLED_APPS
slicing
filter chaining
unique
45. This represents a collection of objects from your database. It can have zero - one or many filters.
count()
QuerySet
intermediate models
default
46. 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)
|
default
Q()
Model metadata
47. Lookup type that finds a case-insensitive regular expression match.
iregex
|
isnull
related_name
48. 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
update(**kwargs)
delete()
Entry.objects.filter(pub_date__year=2005).delete()
==
49. 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()
model
slicing
class type
50. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
reverse()
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
isnull
Field lookups