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. These add custom "row-level" functionality to your objects. These act on a particular model instance.
iendswith
==
class type
Custom model methods
2. 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
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
Proxy model
exact
3. Lookup type that returns results greater than or equal to a given value.
Q()
lt
gte
iterator()
4. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
model
==
values_list(*fields)
only(*fields)
5. 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.
update()
ForeignKey
year
iregex
6. 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
~
Entry.objects.filter(pub_date__year=2005).delete()
select_related()
related_name
7. This gives your model metadata.
distinct()
Meta class
get(**kwargs)
all()
8. Lookup type that returns results with a case-sensitive start sequence.
Manager methods
related_name
startswith
ForeignKey
9. Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
lt
ManyToManyField
distinct()
aggregate(args - *kwargs)
10. 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.
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
iendswith
many-to-one relationship
all()
11. Lookup type that returns results with a case-insensitive end sequence.
Entry.objects.filter(pub_date__range=(start_date - end_date))
pk
Custom model methods
iendswith
12. 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
month
get(**kwargs)
Abstract base class
Q()
13. If this option is True - Django will store empty values as NULL in the database. Default is False.
null
when you add new apps to INSTALLED_APPS
ordered
in_bulk(id_list)
14. 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.
Meta class
ManyToManyField
pickling
choices
15. 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
16. (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.
related_name
select_related()
aggregate(args - *kwargs)
Restrictions on field names
17. 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
18. 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.
week_day
ordered
default
all()
19. This represents a collection of objects from your database. It can have zero - one or many filters.
DoesNotExist
startswith
delete()
QuerySet
20. This field is added automatically - but this behavior can be overridden
none()
get(**kwargs)
id field
only(*fields)
21. a QuerySet can be sliced - using Python's array-slicing syntax.
slicing
choices
reverse()
~
22. Lookup type that finds a case-sensitive regular expression match.
get_absolute_url()
choices tuple
regex
iendswith
23. A convenience method for constructing an object and saving it all in one step.
Entry.objects.filter(pub_date__year=2005).delete()
clear() method
intermediate models
create(**kwargs)
24. Returns a new QuerySet containing objects that match the given lookup parameters.
filter(**kwargs)
==
Multi-table inheritance
lte
25. Lookup type that returns results with a case-sensitive end sequence.
endswith
values_list(*fields)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
all()
26. Lookup type that returns results that fall into an inclusive date range.
Manager methods
ordered
range
filter(**kwargs)
27. 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
28. Lookup type that yields a case-insensitive match.
in
Entry.objects.filter(id__gt=4)
Field lookups
iexact
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.
iregex
filter
Many-to-many relationship through an intermediate model
MultipleObjectsReturned
30. This query updates all the headlines with pub_date in 2007 to read 'Everything is the same'.
Warning
: Invalid argument supplied for foreach() in
/var/www/html/basicversity.com/show_quiz.php
on line
183
31. 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.
create(**kwargs)
all()
in_bulk(id_list)
lt
32. 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.
get(**kwargs)
get_absolute_url()
Many-to-many relationship to self
primary_key
33. Used to get a QuerySet for a model. This is called 'objects' by default.
Manager methods
primary_key
defer(*fields)
Manager
34. Conjuntion operator for Q objects.
__unicode__()
iteration
get(**kwargs)
&
35. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
Q(question__istartswith='What')
values(*fields)
Field lookups
slicing
36. This query finds all entries with an id in the list [1 - 3 - 4]
Model metadata
dates(field - kind - order='ASC')
Entry.objects.filter(id__in=[1 - 3 - 4])
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
37. When to run syncdb
choices tuple
ForeignKey
when you add new apps to INSTALLED_APPS
iteration
38. 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.
values_list(*fields)
ManyToManyField
Entry.objects.filter(pub_date__range=(start_date - end_date))
choices tuple
39. Each one of these is a Python class that subclasses django.db.models.Model. Each attribute of one of these represents a database field.
model
filter chaining
pickling
one-to-one relationship
40. 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.
get(**kwargs)
day
filter chaining
Manager
41. Lookup type that returns results greater than a given value.
gt
Q(question__istartswith='What')
range
default
42. Lookup type that tests for inclusion in a case-sensitive fashion.
filter chaining
delete()
contains
one-to-one relationship
43. A QuerySet is iterable - and it executes its database query the first time you iterate over it.
iexact
iteration
filter chaining
Many-to-many relationship to self
44. 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
relationship spanning
exists()
ForeignKey
dates(field - kind - order='ASC')
45. 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.
filter(**kwargs)
delete()
reverse()
day
46. If this option is True - the field is allowed to be blank. Default is False.
latest(field_name=None)
iregex
blank
lt
47. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.
F()
exact
&
values(*fields)
48. 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
order_by(*fields)
Multi-table inheritance
intermediate models
DoesNotExist
49. The database that will be used if this query is executed now
db
evaluation
exclude(**kwargs)
Q()
50. Keyword shortcut for looking up an object by primary key.
when you add new apps to INSTALLED_APPS
Manager
OneToOneField
pk