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 represents a collection of objects from your database. It can have zero - one or many filters.
filter chaining
intermediate models
QuerySet
Q(question__istartswith='What')
2. 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
select_related()
id field
through argument
month
3. 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
Abstract base class
search
ordered
iterator()
4. Disjunction operator for Q objects.
__unicode__()
unique
Entry.objects.all().update(n_pingbacks=F('n_pingbacks') + 1)
|
5. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .
isnull
Field lookups
id field
Many-to-many relationship to self
6. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.
class type
exclude(**kwargs)
QuerySet
aggregate(args - *kwargs)
7. This model method is used for updating a ManyToManyField.
~
DoesNotExist
add()
MultipleObjectsReturned
8. This method immediately deletes the object and has no return value.
select_related()
all()
delete()
exists()
9. 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.
filter
lte
in_bulk(id_list)
choices
10. Lookup type for date/datetime fields that finds a 'day of the week' match.
gte
reverse name
week_day
Q(question__istartswith='What')
11. Lookup type that returns results less than or equal to a given value.
intermediate models
lte
all()
iterator()
12. Lookup type for date/datetime fields that finds an exact day match.
unique
Entry.objects.filter(id__in=[1 - 3 - 4])
day
one-to-one relationship
13. 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
none()
ForeignKey
distinct()
Restrictions on field names
14. 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.
class attributes
relationship spanning
exact
OneToOneField
15. These methods are intended to do "table-wide" things.
select_related()
Manager methods
get_or_create(**kwargs)
annotate(args - *kwargs)
16. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.
count()
gt
QuerySet
isnull
17. 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
all()
|
when you add new apps to INSTALLED_APPS
using(alias)
18. This query finds all entries with an id greater than 4.
Entry.objects.filter(id__gt=4)
class attributes
OneToOneField
iteration
19. Lookup type that returns results greater than or equal to a given value.
when you add new apps to INSTALLED_APPS
gte
iteration
__unicode__()
20. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.
filter(**kwargs)
distinct()
aggregate(args - *kwargs)
search
21. Lookup type that returns results in a given list.
startswith
in
one-to-one relationship
default
22. Lookup type that finds a case-insensitive regular expression match.
Q(question__istartswith='What')
get_or_create(**kwargs)
iregex
create(**kwargs)
23. 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.
values(*fields)
iregex
Multi-table inheritance
order_by(*fields)
24. 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.
Abstract base class
reverse()
blank
latest(field_name=None)
25. Lookup type that returns results greater than a given value.
&
get(**kwargs)
gt
Manager
26. Lookup type that yields a case-insensitive match.
create(**kwargs)
id field
class type
iexact
27. A convenience method for looking up an object with the given kwargs - creating one if necessary.
get_or_create(**kwargs)
many-to-many relationship
exact
annotate(args - *kwargs)
28. A Python "magic method" that returns a unicode "representation" of any object.
delete()
|
slicing
__unicode__()
29. If this option is True - the field is allowed to be blank. Default is False.
filter(**kwargs)
blank
latest(field_name=None)
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
30. Used to get a QuerySet for a model. This is called 'objects' by default.
Manager
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
gt
Manager methods
31. 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.
defer(*fields)
many-to-one relationship
unique
save()
32. 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.
all()
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
endswith
get(**kwargs)
33. Conjuntion operator for Q objects.
&
OneToOneField
db
in
34. 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
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
defer(*fields)
month
none()
35. 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.
iexact
Model metadata
in_bulk(id_list)
Custom model methods
36. Exception raised by get(**kwargs) if more than one item matches the query.
latest(field_name=None)
iterator()
dates(field - kind - order='ASC')
MultipleObjectsReturned
37. 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
pickling
reverse name
one-to-one relationship
Proxy model
38. Lookup type that returns results less than a given value.
lt
gte
unique
Entry.objects.filter(id__in=[1 - 3 - 4])
39. Negation operator for Q objects.
values_list(*fields)
many-to-many relationship
~
Q(question__startswith='Who') | ~Q(pub_date__year=2005)
40. 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)
add()
Model metadata
edit your settings file and change the INSTALLED_APPS setting to add the name of the module that contains your models.py.
Multi-table inheritance
41. 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.
in
db
using(alias)
istartswith
42. Keyword shortcut for looking up an object by primary key.
Manager
through argument
Abstract base class
pk
43. 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
Many-to-many relationship through an intermediate model
QuerySet
select_related()
Entry.objects.filter(id__gt=4)
44. Lookup type that returns results with a case-sensitive start sequence.
DoesNotExist
filter
many-to-one relationship
startswith
45. If this option is True - Django will store empty values as NULL in the database. Default is False.
all()
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
update()
null
46. 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.
distinct()
startswith
save()
pickling
47. The default for this is the name of the child class followed by '_set'.
values(*fields)
clear() method
extra(select=None - where=None - params=None - tables=None - order_by=None - select_params=None)
reverse name
48. Lookup type that corresponds to a boolean full-text search - taking advantage of full-text indexing. This is like contains but is significantly faster due to full-text indexing.
DoesNotExist
latest(field_name=None)
choices tuple
search
49. This query deletes all Entry objects with a pub_date year of 2005.
Entry.objects.filter(id__gt=4)
Entry.objects.filter(pub_date__year=2005).delete()
Many-to-many relationship through an intermediate model
range
50. 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()
Manager methods
evaluation
ManyToManyField
add()