djangodocs.org

766 sections in Django dev Search all versions →

Creating objects

Topic guide Making queries

To represent database-table data in Python objects, Django uses an intuitive system: A model class represents a database table, and an instance of that class represents a particular record in the database table.

Topic guide Making queries Retrieving objectsLookups that span relationships

When spanning a ManyToManyField or a reverse ForeignKey (such as from Blog to Entry), filtering on multiple attributes raises the question of whether to require each attribute to coincide in the same related object.

Forward

Topic guide Making queries Related objectsOne-to-many relationships

Subsequent accesses to the foreign key on the same object instance are cached. Example: Note that the select_related() QuerySet method recursively prepopulates the cache of all one-to-many relationships ahead of time. Example:

Topic guide Making queries Related objectsMany-to-many relationships

You would expect it to return the entry e. However, the filter condition, which traverses the many-to-many relationship between Entry and Author, yields an empty QuerySet.

Example

Topic guide Pagination

… you methods for accessing the items for each page: NOTE: Note that you can give Paginator a list/tuple, a Django QuerySet, > or any other object with a count() or __len__() method. When > determining the number of objects contained …

Assertions

Topic guide Testing tools Test cases features

SimpleTestCase.assertJSONNotEqual(raw,expected_data,msg=None)[source] : Asserts that the JSON fragments raw and expected_data are not equal. See assertJSONEqual() for further details. TransactionTestCase.assertQuerySetEqual(qs,values,transform=None,ordered=True,msg=None)[source] : Asserts that a queryset qs matches a particular iterable of values values.

H

Index

| | | | --- | --- | | - handle() (BaseCommand method) - handle_app_config() (AppCommand method) - handle_label() (LabelCommand method) - handle_no_permission() (AccessMixin method) - handle_raw_input() (FileUploadHandler method) - handler400 (in module django.conf.urls) - handler403 (in module django.conf.urls) - …

M

Index

| | | | --- | --- | | - m (LineString attribute) - (Point attribute) - mail_admins() (in module django.core.mail) - mail_managers() (in module django.core.mail) - MAILERS - setting - mailers (in module django.core.mail) - MAILERS-BACKEND - setting - …

A lookup example

How-to How to write custom lookups

You will need to ensure that this registration happens before you try to create any querysets using it. You could place the implementation in a models.py file, or register the lookup in the ready() method of an AppConfig.

ModelAdmin options

Reference The Django admin site ModelAdmin objects

ModelAdmin.save_as : Set save_as to enable a “save as new” feature on admin change forms. ModelAdmin.save_as_continue : When save_as=True, the default redirect after saving the new object is to the change view for that object.

A simple example

Reference The syndication feed framework The high-level framework

This simple example, taken from a hypothetical police beat news site describes a feed of the latest five news items: To connect a URL to this feed, put an instance of the Feed object in your URLconf.

Extra instance methods

Reference Model instance reference

In addition to save(), delete(), a model object might have some of the following methods: Model.get_FOO_display() For every field that has choices set, the object will have a get_FOO_display() method, where FOO is the name of the field.

Topic guide Making queries Retrieving objects

Django offers a powerful and intuitive way to “follow” relationships in lookups, taking care of the SQL JOINs for you automatically, behind the scenes.

Topic guide Making queries Querying JSONField

To query based on a given dictionary key, use that key as the lookup name: To query a key for JSON null, None or JSONNull() can be used.

… Model index reference Constraints reference Model _meta API Related objects reference Model class reference Model Meta options Model instance reference QuerySet API reference Lookup API reference Query Expressions Conditional Expressions Database Functions Paginator Paginator class AsyncPaginator class Page class AsyncPage …

C

Index

… attribute) - contained - field lookup type - contains - field lookup type - contains() (GEOSGeometry method) - (in module django.db.models.query.QuerySet) - (OGRGeometry method) - (PreparedGeometry method) - contains_aggregate (Expression attribute) - contains_over_clause (Expression attribute) - contains_properly - field lookup …

T

Index

… TodayArchiveView (built-in class) - (class in django.views.generic.dates) - token_generator (PasswordResetConfirmView attribute) - (PasswordResetView attribute) - total_error_count() (BaseFormSet method) - totally_ordered (QuerySet attribute) - touch() (cache method) - touches - field lookup type - touches() (GEOSGeometry method) - (OGRGeometry method) - …

values_list()

Reference QuerySet API reference QuerySet APIMethods that return new QuerySets

values_list(*fields,flat=False,named=False) This is similar to values() except that instead of returning dictionaries, it returns tuples when iterated over.

extra()

Reference QuerySet API reference QuerySet APIMethods that return new QuerySets

Example: Always use params instead of embedding values directly into where because params will ensure values are quoted correctly according to your particular backend. For example, quotes will be escaped correctly.

create()

Reference QuerySet API reference QuerySet APIMethods that do not return QuerySets

create(**kwargs) acreate(**kwargs) Asynchronous version: acreate() A convenience method for creating an object and saving it all in one step. Thus: and: are equivalent.