Test your basic knowledge |

Django Queryset

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 methods are intended to do "table-wide" things.






2. If you are using this attribute on a ForeignKey or ManyToManyField - you must always specify a unique reverse name for the field.






3. 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






4. 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.






5. Lookup type for date/datetime fields that finds an exact month match. Takes an integer 1 (January) through 12






6. Exception raised by get(**kwargs) if no items match the query.






7. Lookup type that returns results greater than or equal to a given value.






8. If True - the table does not permit duplicate values for this field.






9. 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.






10. 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.






11. 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.






12. These add custom "row-level" functionality to your objects. These act on a particular model instance.






13. 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.






14. 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






15. Operator for comparing two model instances for equality. Behind the scenes - it compares the primary key values of two models.






16. Lookup type that yields a case-insensitive match.






17. 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.






18. 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.






19. 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.






20. This query finds all entries with an id in the list [1 - 3 - 4]






21. A manager method that returns a new QuerySet containing objects that do not match the given lookup parameters.






22. This represents a collection of objects from your database. It can have zero - one or many filters.






23. 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.






24. 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)






25. 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






26. 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.






27. Lookup type that returns results greater than a given value.






28. Fields are specified by these






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.






30. This gives your model metadata.






31. 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()






32. Returns a new QuerySet containing objects that match the given lookup parameters.






33. 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.






34. Lookup type that takes either True or False and corresponds to SQL queries of IS NULL and IS NOT NULL - respectively.






35. 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.






36. These are specified as keyword arguments to the QuerySet methods filter() - exclude() and get(). These take the form field__lookuptype=value .






37. 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.


38. This query finds all entries between a start date of start_date and an end date of end_date.






39. Returns an integer representing the number of objects in the database matching the QuerySet. This never raises exceptions.






40. A Q object that encapsulates queries for entries with a question value that starts with 'What' in a case-insensitive fashion.


41. Lookup type that returns results less than or equal to a given value.






42. a QuerySet can be sliced - using Python's array-slicing syntax.






43. 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.






44. This field is added automatically - but this behavior can be overridden






45. 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.






46. 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






47. Lookup type that tests for inclusion in a case-sensitive fashion.






48. A convenience method for looking up an object with the given kwargs - creating one if necessary.






49. Lookup type for date/datetime fields that finds an exact day match.






50. 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.