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






2. A Manager method that returns a new QuerySet containing objects that match the given lookup parameters.






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






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






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






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






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






8. Lookup type that returns results with a case-insensitive end sequence.






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






10. Returns a ValuesQuerySet -- a QuerySet that returns dictionaries when used as an iterable - rather than model-instance objects.






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






12. Returns the most recent object in the table - by date - using the field_name provided as the date field.






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






14. These methods are intended to do "table-wide" things.






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






16. A convenience method for constructing an object and saving it all in one step.






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






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






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






20. The default for this is the name of the child class followed by '_set'.






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






22. The database that will be used if this query is executed now






23. Extra text to be displayed under the field on the object's admin form to provide assistance to users. It's useful for documentation even if your object doesn't have an admin form.






24. If this option is True - the field is allowed to be blank. Default is False.






25. Can be used to remove all many-to-many relationships for an instance






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






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






28. Lookup type for date/datetime fields that finds an exact year match. Takes a four-digit year.






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






30. If True - this field is the primary key for the model.






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






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






33. Conjuntion operator for Q objects.






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






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






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






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






38. This is a criterion that narrow down a QuerySet based on given parameters.






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






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






41. A QuerySet is iterable - and it executes its database query the first time you iterate over it.






42. This method immediately deletes the object and has no return value.






43. Lookup type that returns results less than a given value.






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






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






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






47. A Python "magic method" that returns a unicode "representation" of any object.






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






49. This gives your model metadata.






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