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. 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.
range
Multi-table inheritance
month
count()
2. 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.
Q(question__istartswith='What')
add()
exists()
ForeignKey
3. 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
4. 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
ManyToManyField
clear() method
relationship spanning
Meta class
5. a QuerySet can be sliced - using Python's array-slicing syntax.
values_list(*fields)
choices
slicing
month
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.
relationship spanning
aggregate(args - *kwargs)
year
Manager methods
7. 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.
iendswith
update()
pickling
lt
8. This model method is used for updating a ManyToManyField.
endswith
choices tuple
add()
delete()
9. Defined by a OneToOneField. You use it just like any other Field type: by including it as a class attribute of your model.
Restrictions on field names
one-to-one relationship
annotate(args - *kwargs)
istartswith
10. 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.
Many-to-many relationship to self
week_day
ManyToManyField
search
11. Manager method used to retrieve every object in a model.
all()
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
Restrictions on field names
12. Returns a new QuerySet containing objects that match the given lookup parameters.
many-to-many relationship
latest(field_name=None)
default
filter(**kwargs)
13. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.
count()
filter
get_absolute_url()
values(*fields)
14. 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.
delete()
filter chaining
Multi-table inheritance
Entry.objects.filter(pub_date__year=2005).delete()
15. 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
Entry.objects.filter(id__gt=4)
filter(**kwargs)
only(*fields)
choices tuple
16. This query finds all entries with an id in the list [1 - 3 - 4]
primary_key
day
Entry.objects.filter(id__in=[1 - 3 - 4])
ordered
17. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
exclude(**kwargs)
Manager methods
day
18. The default for this is the name of the child class followed by '_set'.
Entry.objects.filter(id__in=[1 - 3 - 4])
Q()
dates(field - kind - order='ASC')
reverse name
19. Returns the most recent object in the table - by date - using the field_name provided as the date field.
latest(field_name=None)
|
none()
get_or_create(**kwargs)
20. Conjuntion operator for Q objects.
Proxy model
&
only(*fields)
regex
21. This field is added automatically - but this behavior can be overridden
iterator()
one-to-one relationship
Proxy model
id field
22. Used to get a QuerySet for a model. This is called 'objects' by default.
Meta class
ManyToManyField
delete()
Manager
23. 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
save()
|
through argument
Manager methods
24. 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.
get(**kwargs)
Field lookups
exclude(**kwargs)
gt
25. Keyword shortcut for looking up an object by primary key.
pk
Custom model methods
get_or_create(**kwargs)
order_by(*fields)
26. Each one of these is a Python class that subclasses django.db.models.Model. Each attribute of one of these represents a database field.
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
get(**kwargs)
create(**kwargs)
model
27. Can be used to remove all many-to-many relationships for an instance
clear() method
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
F()
Entry.objects.filter(pub_date__range=(start_date - end_date))
28. To activate your models
isnull
QuerySet
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
filter chaining
29. A QuerySet is iterable - and it executes its database query the first time you iterate over it.
iterator()
iteration
pk
none()
30. 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
F()
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
Model metadata
Manager methods
31. 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
values_list(*fields)
get_or_create(**kwargs)
week_day
32. 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.
endswith
Abstract base class
order_by(*fields)
none()
33. 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
choices tuple
week_day
__unicode__()
update(**kwargs)
34. 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
Entry.objects.filter(id__in=[1 - 3 - 4])
filter(**kwargs)
Abstract base class
exists()
35. 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
36. 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
filter
isnull
get(**kwargs)
defer(*fields)
37. 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.
model
get_absolute_url()
select_related()
dates(field - kind - order='ASC')
38. Lookup type that returns results with a case-insensitive start sequence.
OneToOneField
Restrictions on field names
istartswith
evaluation
39. This model method saves a model instance to the database. This method has no return value.
delete()
ForeignKey
pickling
save()
40. These methods are intended to do "table-wide" things.
related_name
evaluation
distinct()
Manager methods
41. If this option is True - Django will store empty values as NULL in the database. Default is False.
null
startswith
class type
filter(**kwargs)
42. Lookup type that returns results in a given list.
Manager methods
Restrictions on field names
in
startswith
43. This method immediately deletes the object and has no return value.
latest(field_name=None)
delete()
values(*fields)
update()
44. This represents a collection of objects from your database. It can have zero - one or many filters.
related_name
when you add new apps to INSTALLED_APPS
QuerySet
Many-to-many relationship to self
45. Lookup type that returns results less than or equal to a given value.
Entry.objects.filter(id__in=[1 - 3 - 4])
default
order_by(*fields)
lte
46. Returns a new QuerySet that uses SELECT DISTINCT in its SQL query. This eliminates duplicate rows from the query results.
distinct()
get_absolute_url()
dates(field - kind - order='ASC')
__unicode__()
47. 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.
month
DoesNotExist
contains
Q()
48. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.
==
gte
month
Restrictions on field names
49. 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.
default
Many-to-many relationship through an intermediate model
Entry.objects.filter(pub_date__range=(start_date - end_date))
==
50. Lookup type that yields a case-insensitive match.
blank
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
iexact
model