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. To activate your models
startswith
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
in
class attributes
2. 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.
Restrictions on field names
db
class type
many-to-one relationship
3. If True - this field is the primary key for the model.
exact
primary_key
class type
many-to-many relationship
4. Returns a copy of the current QuerySet (or QuerySet subclass you pass in). This can be useful in some situations where you might want to pass in either a model manager or a QuerySet and do further filtering on the result. You can safely call all() on
iteration
defer(*fields)
intermediate models
all()
5. 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.
in_bulk(id_list)
gte
aggregate(args - *kwargs)
reverse()
6. Returns a dictionary of aggregate values (averages - sums - etc) calculated over the QuerySet. Each argument to this method specifies a value that will be included in the dictionary that is returned.
month
unique
aggregate(args - *kwargs)
range
7. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12
month
filter chaining
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
when you add new apps to INSTALLED_APPS
8. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.
pk
filter
when you add new apps to INSTALLED_APPS
exclude(**kwargs)
9. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
Entry.objects.filter(id__in=[1 - 3 - 4])
count()
filter(**kwargs)
year
10. This field is added automatically - but this behavior can be overridden
many-to-many relationship
lte
id field
~
11. Lookup type for date/datetime fields that finds a 'day of the week' match.
using(alias)
filter
F()
week_day
12. Lookup type that returns results greater than a given value.
model
F()
gt
pk
13. 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
all()
Field lookups
gt
update(**kwargs)
14. The default for this is the name of the child class followed by '_set'.
reverse()
startswith
gt
reverse name
15. Lookup type that finds a case-sensitive regular expression match.
regex
values_list(*fields)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
Restrictions on field names
16. 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
create(**kwargs)
count()
class type
week_day
17. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
order_by(*fields)
Field lookups
aggregate(args - *kwargs)
exists()
18. 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.
Q(question__istartswith='What')
ManyToManyField
range
get_or_create(**kwargs)
19. Fields are specified by these
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
primary_key
class attributes
pickling
20. Exception raised by get(**kwargs) if more than one item matches the query.
exclude(**kwargs)
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
MultipleObjectsReturned
using(alias)
21. 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.
delete()
Field lookups
slicing
__unicode__()
22. Manager method used to retrieve every object in a model.
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
Entry.objects.filter(id__in=[1 - 3 - 4])
all()
iregex
23. A Python "magic method" that returns a unicode "representation" of any object.
add()
search
__unicode__()
Manager
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.
Model metadata
istartswith
null
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
25. 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
ManyToManyField
none()
F()
Field lookups
26. If this option is True - Django will store empty values as NULL in the database. Default is False.
values(*fields)
null
primary_key
MultipleObjectsReturned
27. This method is for controlling which database the QuerySet will be evaluated against if you are using more than one database. The only argument this method takes is the alias of a database - as defined in DATABASES.
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
primary_key
using(alias)
count()
28. 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
in
iterator()
relationship spanning
values_list(*fields)
29. This model method saves a model instance to the database. This method has no return value.
null
range
class type
save()
30. Can be used to remove all many-to-many relationships for an instance
Many-to-many relationship through an intermediate model
null
defer(*fields)
clear() method
31. Negation operator for Q objects.
|
Many-to-many relationship through an intermediate model
isnull
~
32. This style of inheritanc is useful when you're subclassing an existing model (perhaps something from another application entirely) and want each model to have its own database table. Here - each model in the hierarchy is a model all by itself.
Multi-table inheritance
class attributes
exclude(**kwargs)
many-to-many relationship
33. 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
endswith
Q(question__istartswith='What')
relationship spanning
~
34. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.
values(*fields)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
annotate(args - *kwargs)
delete()
35. 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
36. This method immediately deletes the object and has no return value.
class attributes
get_or_create(**kwargs)
filter
delete()
37. Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
distinct()
MultipleObjectsReturned
get(**kwargs)
many-to-many relationship
38. 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
39. 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.
Abstract base class
choices
create(**kwargs)
exists()
40. 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()
add()
create(**kwargs)
model
evaluation
41. Exception raised by get(**kwargs) if no items match the query.
all()
day
DoesNotExist
month
42. These add custom "row-level" functionality to your objects. These act on a particular model instance.
relationship spanning
Custom model methods
clear() method
Meta class
43. Returns a new QuerySet containing objects that match the given lookup parameters.
gt
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
aggregate(args - *kwargs)
filter(**kwargs)
44. 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.
in_bulk(id_list)
pickling
class attributes
update(**kwargs)
45. These methods are intended to do "table-wide" things.
Manager methods
relationship spanning
exact
iendswith
46. Lookup type that returns results in a given list.
Q()
db
in
pk
47. 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)
iendswith
Proxy model
Entry.objects.filter(pub_date__year=2005).delete()
Model metadata
48. Lookup type that returns results that fall into an inclusive date range.
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
range
choices tuple
update(**kwargs)
49. 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.
week_day
values(*fields)
related_name
values_list(*fields)
50. 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.
annotate(args - *kwargs)
Many-to-many relationship through an intermediate model
choices tuple
using(alias)