Bundles

What Are Bundles?

Bundles are a small abstraction that allow Tastypie to pass data between resources. This allows us not to depend on passing request to every single method (especially in places where this would be overkill). It also allows resources to work with data coming into the application paired together with an unsaved instance of the object in question. Finally, it aids in keeping Tastypie more thread-safe.

Think of it as package of user data & an object instance (either of which are optionally present).

Attributes

All data within a bundle can be optional, especially depending on how it’s being used. If you write custom code using Bundle, make sure appropriate guards are in place.

obj

Either a Python object or None.

Usually a Django model, though it may/may not have been saved already.

data

Always a plain Python dictionary of data. If not provided, it will be empty.

request

Either the Django request that’s part of the issued request or an empty HttpRequest if it wasn’t provided.