Modules

Modern conference management for Django.

Typed configuration for django-program.

Reads a single DJANGO_PROGRAM dict from Django settings and exposes it as composed, frozen dataclasses with sensible defaults.

Usage:

from django_program.settings import get_config

config = get_config()
config.stripe.secret_key
config.pretalx.base_url
config.currency
class django_program.settings.StripeConfig[source]

Bases: object

Stripe payment gateway configuration.

Parameters:
secret_key: str | None
publishable_key: str | None
webhook_secret: str | None
api_version: str
webhook_tolerance: int
__init__(secret_key=None, publishable_key=None, webhook_secret=None, api_version='2024-12-18', webhook_tolerance=300)
Parameters:
class django_program.settings.PretalxConfig[source]

Bases: object

Pretalx schedule API configuration.

Parameters:
  • base_url (str)

  • token (str | None)

  • schedule_delete_guard_enabled (bool)

  • schedule_delete_guard_min_existing_slots (int)

  • schedule_delete_guard_max_fraction_removed (float)

base_url: str
token: str | None
schedule_delete_guard_enabled: bool
schedule_delete_guard_min_existing_slots: int
schedule_delete_guard_max_fraction_removed: float
__init__(base_url='https://pretalx.com', token=None, schedule_delete_guard_enabled=True, schedule_delete_guard_min_existing_slots=5, schedule_delete_guard_max_fraction_removed=0.4)
Parameters:
  • base_url (str)

  • token (str | None)

  • schedule_delete_guard_enabled (bool)

  • schedule_delete_guard_min_existing_slots (int)

  • schedule_delete_guard_max_fraction_removed (float)

class django_program.settings.PSFSponsorConfig[source]

Bases: object

PSF sponsorship API configuration for PyCon US conferences.

Parameters:
api_url: str
token: str | None
auth_scheme: str
publisher: str
flight: str
__init__(api_url='https://www.python.org/api/v2', token=None, auth_scheme='Token', publisher='pycon', flight='sponsors')
Parameters:
class django_program.settings.FeaturesConfig[source]

Bases: object

Feature toggles for enabling/disabling django-program modules and UIs.

Module toggles control backend functionality (registration, sponsors, etc.) while UI toggles control the public-facing and management interfaces. The all_ui_enabled flag acts as a master switch for all UI toggles.

All features are enabled by default. Set to False in DJANGO_PROGRAM['features'] to disable.

Parameters:
  • registration_enabled (bool)

  • sponsors_enabled (bool)

  • travel_grants_enabled (bool)

  • programs_enabled (bool)

  • pretalx_sync_enabled (bool)

  • public_ui_enabled (bool)

  • manage_ui_enabled (bool)

  • all_ui_enabled (bool)

registration_enabled: bool
sponsors_enabled: bool
travel_grants_enabled: bool
programs_enabled: bool
pretalx_sync_enabled: bool
public_ui_enabled: bool
manage_ui_enabled: bool
all_ui_enabled: bool
__init__(registration_enabled=True, sponsors_enabled=True, travel_grants_enabled=True, programs_enabled=True, pretalx_sync_enabled=True, public_ui_enabled=True, manage_ui_enabled=True, all_ui_enabled=True)
Parameters:
  • registration_enabled (bool)

  • sponsors_enabled (bool)

  • travel_grants_enabled (bool)

  • programs_enabled (bool)

  • pretalx_sync_enabled (bool)

  • public_ui_enabled (bool)

  • manage_ui_enabled (bool)

  • all_ui_enabled (bool)

class django_program.settings.ProgramConfig[source]

Bases: object

Top-level django-program configuration.

Parameters:
stripe: StripeConfig
pretalx: PretalxConfig
psf_sponsors: PSFSponsorConfig
features: FeaturesConfig
cart_expiry_minutes: int
pending_order_expiry_minutes: int
order_reference_prefix: str
currency: str
currency_symbol: str
max_grant_amount: int
__init__(stripe=<factory>, pretalx=<factory>, psf_sponsors=<factory>, features=<factory>, cart_expiry_minutes=30, pending_order_expiry_minutes=15, order_reference_prefix='ORD', currency='USD', currency_symbol='$', max_grant_amount=3000)
Parameters:
django_program.settings.get_config()[source]

Build and return the program configuration.

Reads settings.DJANGO_PROGRAM (a plain dict) and returns a frozen ProgramConfig. The result is cached; the cache is cleared automatically when Django’s setting_changed signal fires (e.g. inside override_settings).

Return type:

ProgramConfig

Conference and Section models for django-program.

class django_program.conference.models.Conference[source]

Bases: Model

A conference event with dates, venue, and integration settings.

The central model that all other apps reference. Stores Pretalx and Stripe configuration so each conference can be managed independently.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

start_date

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

end_date

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

timezone

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

venue

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

website_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

pretalx_event_slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

stripe_secret_key

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

stripe_publishable_key

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

stripe_webhook_secret

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

total_capacity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

activities

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

addons

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

carts

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

credits

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

feature_flags

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_end_date(*, field=<django.db.models.fields.DateField: end_date>, is_next=True, **kwargs)
get_next_by_start_date(*, field=<django.db.models.fields.DateField: start_date>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_end_date(*, field=<django.db.models.fields.DateField: end_date>, is_next=False, **kwargs)
get_previous_by_start_date(*, field=<django.db.models.fields.DateField: start_date>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
orders

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

room_overrides

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

rooms

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

schedule_slots

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sections

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

speaker_overrides

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

speakers

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sponsor_levels

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sponsor_overrides

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sponsors

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

stripe_customers

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

submission_type_defaults

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

talk_overrides

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

talks

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

ticket_types

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

travel_grants

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

vouchers

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.conference.models.Section[source]

Bases: Model

A distinct segment of a conference (e.g. Tutorials, Talks, Sprints).

Sections divide a conference into logical time blocks, each with their own date range. They are ordered by the order field for display purposes.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

start_date

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

end_date

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_next_by_end_date(*, field=<django.db.models.fields.DateField: end_date>, is_next=True, **kwargs)
get_next_by_start_date(*, field=<django.db.models.fields.DateField: start_date>, is_next=True, **kwargs)
get_previous_by_end_date(*, field=<django.db.models.fields.DateField: end_date>, is_next=False, **kwargs)
get_previous_by_start_date(*, field=<django.db.models.fields.DateField: start_date>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
class django_program.conference.models.FeatureFlags[source]

Bases: Model

Per-conference feature toggle overrides.

Database-backed flags that override the defaults from DJANGO_PROGRAM["features"]. Changes take effect immediately without server restart. Each conference has at most one row.

All boolean fields are nullable: None means “use default from settings”, while an explicit True or False overrides.

conference

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Restaurant.place is a ForwardOneToOneDescriptor instance.

registration_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

sponsors_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_grants_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

programs_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

pretalx_sync_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

public_ui_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

manage_ui_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

all_ui_enabled

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>

Registration, ticketing, cart, order, and payment models for django-program.

class django_program.registration.models.TicketType[source]

Bases: Model

A purchasable ticket category for a conference.

Defines a class of ticket (e.g. “Early Bird”, “Student”, “Corporate”) with pricing, availability windows, and optional quantity limits. Ticket types flagged with requires_voucher are hidden from the public storefront until unlocked by a matching voucher code.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

price

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

available_from

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

available_until

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

total_quantity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

limit_per_user

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

requires_voucher

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property remaining_quantity: int | None

Return the number of tickets still available for purchase.

Counts tickets in paid/partially-refunded orders plus pending orders with an active inventory hold (hold_expires_at in the future).

Returns:

The remaining count, or None if this ticket type has unlimited quantity (total_quantity == 0).

property is_available: bool

Check whether this ticket type can currently be purchased.

A ticket is available when all of the following are true:

  • is_active is True

  • The current time is within the available_from / available_until window (if set)

  • There is remaining quantity (or quantity is unlimited)

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

available_addons

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

cart_items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
order_line_items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

vouchers

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.registration.models.AddOn[source]

Bases: Model

An optional extra attached to a ticket (e.g. workshop, t-shirt).

Add-ons can optionally be restricted to specific ticket types via the requires_ticket_types relation. When that relation is empty the add-on is available to holders of any ticket type.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

price

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

requires_ticket_types

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

available_from

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

available_until

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

total_quantity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

cart_items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
order_line_items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

vouchers

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.registration.models.Voucher[source]

Bases: Model

A discount or access code for tickets and add-ons.

Vouchers can provide a percentage discount, a fixed amount off, or full complimentary access (100% off). They can also unlock hidden ticket types that require a voucher to purchase.

class VoucherType[source]

Bases: TextChoices

The type of discount a voucher provides.

COMP = 'comp'
PERCENTAGE = 'percentage'
FIXED_AMOUNT = 'fixed_amount'
__new__(value)
conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

code

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

voucher_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

discount_value

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

applicable_ticket_types

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

applicable_addons

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

max_uses

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

times_used

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

valid_from

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

valid_until

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

unlocks_hidden_tickets

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property is_valid: bool

Check whether this voucher can currently be redeemed.

A voucher is valid when it is active, has remaining uses, and the current time falls within the optional validity window.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

carts

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
get_voucher_type_display(*, field=<django.db.models.fields.CharField: voucher_type>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
class django_program.registration.models.Cart[source]

Bases: Model

A user’s shopping cart for a conference.

Carts hold ticket and add-on selections before checkout. They transition through statuses from OPEN to CHECKED_OUT when submitted to checkout and converted to an order (which may still be pending payment), or to EXPIRED / ABANDONED when the session times out.

class Status[source]

Bases: TextChoices

Lifecycle states for a shopping cart.

OPEN = 'open'
CHECKED_OUT = 'checked_out'
EXPIRED = 'expired'
ABANDONED = 'abandoned'
__new__(value)
user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

voucher

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

expires_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <django.db.models.manager.Manager object>
user_id
voucher_id
class django_program.registration.models.CartItem[source]

Bases: Model

A single item (ticket or add-on) in a cart.

Each cart item references exactly one of ticket_type or addon, enforced by a database-level check constraint. The unit_price and line_total properties compute pricing from the referenced item.

cart

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

ticket_type

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

addon

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

quantity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property unit_price: Decimal

Return the per-unit price of this cart item.

property line_total: Decimal

Return the total price for this line (unit_price * quantity).

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

addon_id
cart_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
ticket_type_id
class django_program.registration.models.Order[source]

Bases: Model

A completed checkout with billing and payment info.

Orders are created when a cart is checked out. They capture a snapshot of the pricing, discounts, and billing details at the time of purchase. The reference field holds a unique human-readable order number.

class Status[source]

Bases: TextChoices

Lifecycle states for an order.

PENDING = 'pending'
PAID = 'paid'
REFUNDED = 'refunded'
PARTIALLY_REFUNDED = 'partially_refunded'
CANCELLED = 'cancelled'
__new__(value)
conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

subtotal

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

discount_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

total

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

voucher_code

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

voucher_details

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

billing_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

billing_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

billing_company

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reference

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

hold_expires_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

applied_credits

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

issued_credits

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

line_items

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <django.db.models.manager.Manager object>
payments

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

user_id
class django_program.registration.models.OrderLineItem[source]

Bases: Model

A snapshot of a purchased item at checkout time.

Line items are immutable records of what was purchased, including the price and description at the time of checkout. They may reference the original TicketType or AddOn for traceability, but those links are optional since the source item could be deleted after the order is placed.

order

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

quantity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

unit_price

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

discount_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

line_total

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

ticket_type

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

addon

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

addon_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
order_id
ticket_type_id
class django_program.registration.models.Payment[source]

Bases: Model

A payment record against an order.

Each payment represents a single financial transaction (Stripe charge, complimentary comp, credit application, or manual entry). An order may have multiple payments if it is partially refunded and re-paid.

class Method[source]

Bases: TextChoices

Supported payment methods.

STRIPE = 'stripe'
COMP = 'comp'
CREDIT = 'credit'
MANUAL = 'manual'
__new__(value)
class Status[source]

Bases: TextChoices

PENDING = 'pending'
PROCESSING = 'processing'
SUCCEEDED = 'succeeded'
FAILED = 'failed'
REFUNDED = 'refunded'
__new__(value)
order

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

method

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

stripe_payment_intent_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

stripe_charge_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reference

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

note

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

created_by_id
get_method_display(*, field=<django.db.models.fields.CharField: method>)
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
order_id
class django_program.registration.models.Credit[source]

Bases: Model

A store credit that can be applied to future orders.

Credits are typically issued as part of a refund workflow. They are tied to a specific conference and user, and can be applied to a new order or left to expire.

class Status[source]

Bases: TextChoices

Lifecycle states for a store credit.

AVAILABLE = 'available'
APPLIED = 'applied'
EXPIRED = 'expired'
__new__(value)
user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

remaining_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

applied_to_order

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

source_order

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

note

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

save(*args, **kwargs)[source]

Initialize remaining balance for newly created available credits.

Parameters:
Return type:

None

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

applied_to_order_id
conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
source_order_id
user_id
class django_program.registration.models.StripeCustomer[source]

Bases: Model

Maps a Django user to a Stripe customer for a specific conference.

Each user gets a separate Stripe customer per conference since each conference may use a different Stripe account.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

stripe_customer_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
user_id
class django_program.registration.models.StripeEvent[source]

Bases: Model

A record of a Stripe webhook event for idempotent processing.

Stores the full event payload and tracks whether the event has been successfully processed by the webhook handler.

stripe_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

kind

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

livemode

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

payload

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

customer_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

processed

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

api_version

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
processing_exceptions

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.registration.models.EventProcessingException[source]

Bases: Model

Records an error that occurred while processing a webhook event.

Captures the full traceback and contextual data so that failed events can be investigated and retried.

event

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

data

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

message

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

traceback

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

event_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>

Cart management service for conference registration.

Handles cart lifecycle, item management, voucher application, and pricing summary computation. All functions are stateless and operate on Cart model instances directly.

class django_program.registration.services.cart.LineItemSummary[source]

Bases: object

Pricing breakdown for a single cart item.

Parameters:
item_id: int
description: str
quantity: int
unit_price: Decimal
discount: Decimal
line_total: Decimal
__init__(item_id, description, quantity, unit_price, discount, line_total)
Parameters:
class django_program.registration.services.cart.CartSummary[source]

Bases: object

Full pricing summary of a cart including voucher discounts.

Parameters:
items: list[LineItemSummary]
subtotal: Decimal
discount: Decimal
total: Decimal
__init__(items, subtotal, discount, total)
Parameters:
django_program.registration.services.cart.get_or_create_cart(user, conference)[source]

Return the user’s open cart, creating one if none exists.

Expires any stale open carts for this user and conference before looking up or creating a fresh cart.

Parameters:
  • user (object) – The authenticated user (AUTH_USER_MODEL instance).

  • conference (object) – The conference to create the cart for.

Return type:

Cart

Returns:

An open Cart instance with a valid expiry time.

django_program.registration.services.cart.add_ticket(cart, ticket_type, qty=1)[source]

Add a ticket to the cart or increase its quantity.

Validates availability, stock limits, per-user limits, and voucher requirements before modifying the cart.

Parameters:
  • cart (Cart) – The open cart to add the ticket to.

  • ticket_type (TicketType) – The ticket type to add.

  • qty (int) – Number of tickets to add (must be >= 1).

Return type:

CartItem

Returns:

The created or updated CartItem.

Raises:

ValidationError – If the ticket cannot be added due to business rule violations (unavailable, out of stock, limit exceeded, or voucher required).

django_program.registration.services.cart.add_addon(cart, addon, qty=1)[source]

Add an add-on to the cart or increase its quantity.

Validates availability, stock, and ticket-type prerequisites before modifying the cart.

Parameters:
  • cart (Cart) – The open cart to add the add-on to.

  • addon (AddOn) – The add-on to add.

  • qty (int) – Number of add-ons to add (must be >= 1).

Return type:

CartItem

Returns:

The created or updated CartItem.

Raises:

ValidationError – If the add-on cannot be added due to business rule violations (inactive, out of window, prerequisite ticket missing, or out of stock).

django_program.registration.services.cart.remove_item(cart, item_id)[source]

Remove an item from the cart, cascading add-on removals if needed.

When removing a ticket type, any add-ons that require that ticket type (and no other qualifying ticket type remains in the cart) are also removed.

Parameters:
  • cart (Cart) – The cart to remove the item from.

  • item_id (int) – The primary key of the CartItem to remove.

Raises:

ValidationError – If the item does not exist or does not belong to this cart.

Return type:

None

django_program.registration.services.cart.update_quantity(cart, item_id, qty)[source]

Update the quantity of a cart item.

If the new quantity is zero or negative the item is removed instead. Re-validates stock and per-user limits for the new quantity.

Parameters:
  • cart (Cart) – The cart containing the item.

  • item_id (int) – The primary key of the CartItem to update.

  • qty (int) – The new absolute quantity.

Return type:

CartItem | None

Returns:

The updated CartItem, or None if the item was removed.

Raises:

ValidationError – If the new quantity violates stock or per-user limits, or if the item does not belong to this cart.

django_program.registration.services.cart.apply_voucher(cart, code)[source]

Apply a voucher code to the cart.

Parameters:
  • cart (Cart) – The cart to apply the voucher to.

  • code (str) – The voucher code string.

Return type:

Voucher

Returns:

The validated Voucher instance now attached to the cart.

Raises:

ValidationError – If the voucher code is not found, not valid, or does not belong to this cart’s conference.

django_program.registration.services.cart.get_summary(cart)[source]

Compute a full pricing summary of the cart.

Iterates all cart items, applies any voucher discounts, and returns a structured summary with per-item and aggregate totals.

Parameters:

cart (Cart) – The cart to summarise.

Return type:

CartSummary

Returns:

A CartSummary with line items, subtotal, discount, and total.

django_program.registration.services.cart.get_summary_from_items(cart, items)[source]

Compute pricing summary using a pre-fetched cart-item snapshot.

Parameters:
Return type:

CartSummary

Checkout service for converting carts into orders.

Handles the atomic checkout flow, credit application, and order cancellation. All methods are stateless and operate on model instances directly.

class django_program.registration.services.checkout.CheckoutService[source]

Bases: object

Stateless service for checkout operations.

Converts carts into orders, applies credits, and handles cancellations.

static checkout(cart, *, billing_name='', billing_email='', billing_company='')[source]

Convert a cart into an order atomically.

Re-validates stock, pricing, and voucher validity at checkout time to prevent stale-cart issues. Creates an Order with PENDING status, snapshots each CartItem into OrderLineItems, records voucher details, and marks the cart as CHECKED_OUT.

Parameters:
  • cart (Cart) – The open cart to check out.

  • billing_name (str) – Customer billing name.

  • billing_email (str) – Customer billing email.

  • billing_company (str) – Customer billing company.

Return type:

Order

Returns:

The newly created Order with PENDING status.

Raises:

ValidationError – If the cart is empty, expired, not open, or if stock/price validation fails at checkout time.

static apply_credit(order, credit)[source]

Apply a store credit to an order.

Creates a CREDIT payment record and marks the credit as APPLIED. If the credit covers the full remaining balance, transitions the order to PAID and fires the order_paid signal.

Parameters:
  • order (Order) – The order to apply the credit to.

  • credit (Credit) – The available credit to apply.

Return type:

Payment

Returns:

The created Payment record.

Raises:

ValidationError – If the order is not PENDING, the credit is not AVAILABLE, or the credit belongs to a different conference/user.

static cancel_order(order)[source]

Cancel a pending order and release associated resources.

Reverses any succeeded credit payments (restoring the Credit to AVAILABLE), transitions the order to CANCELLED, and decrements the voucher usage counter if a voucher was used.

Parameters:

order (Order) – The order to cancel.

Return type:

Order

Returns:

The updated Order with CANCELLED status.

Raises:

ValidationError – If the order cannot be cancelled (not PENDING).

Payment service for processing order payments.

Handles Stripe payment initiation, complimentary order fulfillment, and manual staff-entered payments. All methods are stateless and operate on model instances directly.

class django_program.registration.services.payment.PaymentService[source]

Bases: object

Stateless service for payment operations.

Orchestrates Stripe payment flows, complimentary order fulfillment, and manual staff payments against registration orders.

static initiate_payment(order)[source]

Initiate a Stripe payment flow for the given order.

Creates a Stripe customer (if needed), a PaymentIntent, and a pending Payment record. Returns the client_secret for the frontend to confirm via Stripe.js.

Parameters:

order (Order) – The order to collect payment for.

Return type:

str

Returns:

The Stripe client_secret string for frontend confirmation.

Raises:
  • ValidationError – If the order is not in PENDING status.

  • ValueError – If the conference has no Stripe key configured, or if the client_secret format is unexpected.

static record_comp(order)[source]

Record a complimentary payment for a zero-total order.

Used for speaker comps, 100% voucher discounts, or any other scenario where the order total is zero.

Parameters:

order (Order) – The order to fulfill as complimentary.

Return type:

Payment

Returns:

The created Payment record with SUCCEEDED status.

Raises:

ValidationError – If the order is not PENDING or has a non-zero total.

static record_manual(order, *, amount, reference='', note='', staff_user=None)[source]

Record a manual payment entered by staff.

Used for at-the-door cash payments, wire transfers, or other off-platform payment methods. If the cumulative succeeded payments meet or exceed the order total, the order is transitioned to PAID.

Parameters:
  • order (Order) – The order to record payment against.

  • amount (Decimal) – The payment amount (must be positive).

  • reference (str) – An optional external reference (e.g. receipt number).

  • note (str) – An optional staff note about the payment.

  • staff_user (AbstractBaseUser | None) – The staff member recording the payment.

Return type:

Payment

Returns:

The created Payment record with SUCCEEDED status.

Raises:

ValidationError – If the order is not PENDING or the amount is not positive.

Refund service for processing order refunds and credit applications.

Handles Stripe refund creation, store credit issuance, and credit-as-payment application. All methods are stateless and operate on model instances directly.

class django_program.registration.services.refund.RefundService[source]

Bases: object

Stateless service for refund and credit operations.

Processes full and partial Stripe refunds, issues store credits, and applies existing credits as payment toward new orders.

static create_refund(order, *, amount, reason='requested_by_customer', staff_user=None)[source]

Issue a full or partial refund for a Stripe-paid order.

Validates the order state, calculates the refundable balance, calls the Stripe API to create the refund, and issues a store Credit record. The order status is updated to REFUNDED or PARTIALLY_REFUNDED depending on whether the cumulative refund total covers the full order amount.

Parameters:
  • order (Order) – The order to refund. Must be PAID or PARTIALLY_REFUNDED.

  • amount (Decimal) – The refund amount. Must be positive and not exceed the remaining refundable balance.

  • reason (str) – The Stripe refund reason string (e.g. "requested_by_customer", "duplicate", "fraudulent").

  • staff_user (AbstractBaseUser | None) – Optional staff user initiating the refund, recorded on the credit note for audit purposes.

Return type:

Credit

Returns:

The newly created Credit with AVAILABLE status.

Raises:

ValidationError – If the order is not in a refundable state, the amount is invalid, or no Stripe payment exists on the order.

static apply_credit_as_refund(credit, target_order)[source]

Apply an existing store credit as payment toward an order.

Deducts the applied amount from the credit’s remaining balance and creates a CREDIT payment on the target order. If the credit is fully consumed it transitions to APPLIED. If the order becomes fully paid it transitions to PAID and the order_paid signal fires.

Parameters:
  • credit (Credit) – The available store credit to apply.

  • target_order (Order) – The pending order to apply the credit toward.

Return type:

Payment

Returns:

The created Payment record with CREDIT method and SUCCEEDED status.

Raises:

ValidationError – If the credit is not available, has no remaining balance, the order is not pending, or the credit and order belong to different users or conferences.

Synchronization service for importing Pretalx data into Django models.

Provides PretalxSyncService which orchestrates the import of speakers, talks, and schedule slots from a Pretalx event into the corresponding Django models. Each sync method is idempotent and uses bulk operations for performance.

class django_program.pretalx.sync.PretalxSyncService[source]

Bases: object

Synchronizes speaker, talk, and schedule data from Pretalx to Django models.

Builds a PretalxClient from the conference’s pretalx_event_slug and the global Pretalx configuration, then provides methods to sync each entity type individually or all at once.

Parameters:

conference (Conference) – The conference whose Pretalx data should be synced.

Raises:

ValueError – If the conference has no pretalx_event_slug configured.

__init__(conference)[source]

Initialize the sync service for the given conference.

Parameters:

conference (Conference) – The conference whose Pretalx data should be synced.

Raises:

ValueError – If the conference has no pretalx_event_slug configured.

sync_rooms()[source]

Fetch rooms from Pretalx and upsert into the database.

Return type:

int

Returns:

The number of rooms synced.

sync_speakers()[source]

Fetch speakers from Pretalx and upsert into the database.

Uses bulk operations for performance and delegates to sync_speakers_iter() which yields progress dicts.

Return type:

int

Returns:

The number of speakers synced.

sync_speakers_iter()[source]

Bulk sync speakers from Pretalx, yielding progress updates.

Yields:

A {"phase": "fetching"} dict before the API call, dicts with current/total keys during processing, and a final dict with count when complete.

Return type:

Iterator[dict[str, int | str]]

sync_talks()[source]

Fetch talks from Pretalx and upsert into the database.

Uses bulk operations for performance and delegates to sync_talks_iter() which yields progress dicts.

Return type:

int

Returns:

The number of talks synced.

sync_talks_iter()[source]

Bulk sync talks from Pretalx, yielding progress updates.

Yields:

A {"phase": "fetching"} dict before the API call, dicts with current/total keys during processing, and a final dict with count when complete.

Return type:

Iterator[dict[str, int | str]]

sync_schedule(*, allow_large_deletions=False)[source]

Fetch schedule slots from Pretalx and upsert into the database.

Slots that no longer appear in the Pretalx schedule are deleted after the sync completes.

Parameters:

allow_large_deletions (bool) – When True, bypasses the schedule-drop safety guard and permits large stale-slot deletions.

Return type:

tuple[int, int]

Returns:

A tuple of (synced_count, unscheduled_count) where unscheduled_count is the number of talks that still have no scheduled slot after the sync.

apply_type_defaults()[source]

Apply SubmissionTypeDefault records to unscheduled talks.

For each configured submission type default, finds talks of that type that have no room assigned and applies the default room and time slot.

Return type:

int

Returns:

The number of talks that were modified by type defaults.

sync_all(*, allow_large_deletions=False)[source]

Run all sync operations in dependency order.

Return type:

dict[str, int]

Returns:

A mapping of entity type to the number synced. The schedule_slots key contains only the synced count; unscheduled_talks is added when any talks lack a slot. type_defaults_applied is added when type defaults modify any talks.

Parameters:

allow_large_deletions (bool)

Sponsor level, sponsor, and benefit models for django-program.

class django_program.sponsors.models.SponsorLevel[source]

Bases: Model

A sponsorship tier for a conference.

Defines a named tier (e.g. “Gold”, “Silver”, “Bronze”) with pricing, a description of included benefits, and the number of complimentary tickets that sponsors at this level receive automatically.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

cost

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

benefits_summary

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

comp_ticket_count

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

save(*args, **kwargs)[source]

Auto-generate slug from name if not set.

Parameters:
Return type:

None

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
sponsor_overrides

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sponsors

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.sponsors.models.Sponsor[source]

Bases: Model

A sponsoring organization for a conference.

Represents a company or organization that has purchased a sponsorship package. Each sponsor belongs to a single level and conference, with contact details and branding assets for the conference website.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

level

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

external_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

website_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Just like the FileDescriptor, but for ImageFields. The only difference is assigning the width/height to the width_field/height_field, if appropriate.

logo_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

contact_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

contact_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

save(*args, **kwargs)[source]

Auto-generate slug from name if not set.

Parameters:
Return type:

None

clean()[source]

Validate that the sponsor’s level belongs to the same conference.

Return type:

None

property effective_name: str

Return the overridden value if set, otherwise the synced value.

property effective_description: str

Return the overridden value if set, otherwise the synced value.

property effective_website_url: str

Return the overridden value if set, otherwise the synced value.

property effective_logo_url: str

Return the overridden value if set, otherwise the synced value.

property effective_contact_name: str

Return the overridden value if set, otherwise the synced value.

property effective_contact_email: str

Return the overridden value if set, otherwise the synced value.

property effective_is_active: bool

Return the overridden value if set, otherwise the synced value.

property effective_level: SponsorLevel

Return the overridden value if set, otherwise the synced value.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

benefits

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

conference_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

level_id
objects = <django.db.models.manager.Manager object>
override

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

class django_program.sponsors.models.SponsorOverride[source]

Bases: AbstractOverride

Local override applied on top of sponsor data.

Allows conference organizers to patch individual fields of a sponsor without modifying the original record. Inherits save()/clean() conference auto-set and validation from AbstractOverride.

conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

created_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

sponsor

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Restaurant.place is a ForwardOneToOneDescriptor instance.

override_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_website_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_logo_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_contact_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_contact_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

override_level

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

property is_empty: bool

Return True when no override fields carry a value.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_by_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

note

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
override_level_id
sponsor_id
updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class django_program.sponsors.models.SponsorBenefit[source]

Bases: Model

A specific benefit tracked for a sponsor.

Tracks individual deliverables owed to a sponsor as part of their sponsorship package (e.g. “Logo on website”, “Booth space”). The is_complete flag marks whether the benefit has been fulfilled.

sponsor

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_complete

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

notes

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
sponsor_id

Activity, signup, and travel grant models for django-program.

class django_program.programs.models.Activity[source]

Bases: Model

A conference activity such as a sprint, workshop, or social event.

Represents a scheduled or unscheduled activity that attendees can sign up for. The max_participants field caps signups when set, and spots_remaining computes the live availability.

Activities can be linked to Pretalx submission types via the pretalx_submission_type field. When set, the talks M2M is populated during sync with all talks of that submission type.

class ActivityType[source]

Bases: TextChoices

Classification of conference activities.

SPRINT = 'sprint'
WORKSHOP = 'workshop'
TUTORIAL = 'tutorial'
LIGHTNING_TALK = 'lightning_talk'
SOCIAL = 'social'
OPEN_SPACE = 'open_space'
SUMMIT = 'summit'
OTHER = 'other'
__new__(value)
conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

activity_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

location

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

room

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

pretalx_submission_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

talks

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

start_time

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

end_time

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

max_participants

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

requires_ticket

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

external_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

is_active

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

organizers

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

Pizza.toppings and Topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

synced_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property spots_remaining: int | None

Return the number of remaining confirmed spots, or None if unlimited.

promote_next_waitlisted()[source]

Promote the oldest waitlisted signup to confirmed.

Must be called inside a transaction. Returns the promoted signup or None if no one is waitlisted.

Return type:

ActivitySignup | None

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
get_activity_type_display(*, field=<django.db.models.fields.CharField: activity_type>)
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
room_id
signups

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class django_program.programs.models.ActivitySignup[source]

Bases: Model

A user’s signup for an activity.

Each user may have at most one non-cancelled signup per activity, enforced by a conditional UniqueConstraint. The status field tracks whether the signup is confirmed, waitlisted, or cancelled.

class SignupStatus[source]

Bases: TextChoices

Lifecycle states for an activity signup.

CONFIRMED = 'confirmed'
WAITLISTED = 'waitlisted'
CANCELLED = 'cancelled'
__new__(value)
activity

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

note

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

cancelled_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property is_confirmed: bool

Whether this signup is confirmed.

property is_waitlisted: bool

Whether this signup is on the waitlist.

property is_cancelled: bool

Whether this signup has been cancelled.

property can_cancel: bool

Whether this signup can be cancelled (confirmed or waitlisted).

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

activity_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
user_id
class django_program.programs.models.TravelGrant[source]

Bases: Model

A travel grant application for a conference.

Modeled after PyCon US’s travel grant system. Tracks the full application lifecycle from submission through review, offer, and acceptance. Sensitive reimbursement details (bank info) are NOT stored here — they belong in a separate secure model collected only after acceptance.

class GrantStatus[source]

Bases: TextChoices

Lifecycle states for a travel grant application.

SUBMITTED = 'submitted'
WITHDRAWN = 'withdrawn'
INFO_NEEDED = 'info_needed'
OFFERED = 'offered'
NEED_MORE = 'need_more'
REJECTED = 'rejected'
DECLINED = 'declined'
ACCEPTED = 'accepted'
DISBURSED = 'disbursed'
__new__(value)
class RequestType[source]

Bases: TextChoices

What the applicant is requesting.

TICKET_ONLY = 'ticket_only'
TICKET_AND_GRANT = 'ticket_and_grant'
__new__(value)
class ExperienceLevel[source]

Bases: TextChoices

Python experience level of the applicant.

BEGINNER = 'beginner'
INTERMEDIATE = 'intermediate'
EXPERT = 'expert'
__new__(value)
class ApplicationType[source]

Bases: TextChoices

Classification of the grant application.

GENERAL = 'general'
STAFF = 'staff'
SPEAKER = 'speaker'
CORE_DEV = 'core_dev'
PSF_BOARD = 'psf_board'
COMMUNITY = 'community'
EDUCATION = 'education'
PYLADIES = 'pyladies'
OTHER = 'other'
__new__(value)
conference

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

application_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

request_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_from

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

international

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

first_time

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_airfare_description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_airfare_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_lodging_description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_lodging_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_transit_description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_transit_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_visa_description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

travel_plans_visa_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

requested_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

approved_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

experience_level

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

occupation

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

involvement

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reason

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

days_attending

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

sharing_expenses

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

traveling_with

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reviewer_notes

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

promo_code

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

reviewed_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

reviewed_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

disbursed_amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

disbursed_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

disbursed_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property travel_plans_total: Decimal

Sum of airfare and lodging breakdown amounts.

property is_editable: bool

Whether the applicant can still edit their application.

property is_actionable: bool

Whether the applicant can accept/decline (offered state).

property show_accept_button: bool

Show accept button only when grant is offered.

property show_decline_button: bool

Show decline button only when grant is offered.

property show_withdraw_button: bool

Show withdraw button for submitted or info-needed grants.

property show_edit_button: bool

Show edit button for submitted or info-needed grants.

property is_ready_for_disbursement: bool

Whether grant has approved receipts and payment info, ready to disburse.

property show_provide_info_button: bool

Show provide-info button when reviewers request more info.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

conference_id
disbursed_by_id
get_application_type_display(*, field=<django.db.models.fields.CharField: application_type>)
get_experience_level_display(*, field=<django.db.models.fields.CharField: experience_level>)
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
get_request_type_display(*, field=<django.db.models.fields.CharField: request_type>)
get_status_display(*, field=<django.db.models.fields.CharField: status>)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

messages

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <django.db.models.manager.Manager object>
payment_info

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Place.restaurant is a ReverseOneToOneDescriptor instance.

receipts

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

reviewed_by_id
user_id
class django_program.programs.models.TravelGrantMessage[source]

Bases: Model

Message attached to a travel grant application.

Reviewers can leave internal notes (visible=False) or messages visible to the applicant (visible=True). Applicant messages are always visible to reviewers.

grant

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

user

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

visible

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

message

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
grant_id
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
user_id
django_program.programs.models.receipt_upload_path(instance, filename)[source]

Build per-user upload path: travel_grant_receipts/<username>/<filename>.

Parameters:
Return type:

str

class django_program.programs.models.Receipt[source]

Bases: Model

An expense receipt uploaded by a travel grant recipient.

class ReceiptType[source]

Bases: TextChoices

AIRFARE = 'airfare'
LODGING = 'lodging'
__new__(value)
grant

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

receipt_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

amount

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

date

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

receipt_file

The descriptor for the file attribute on the model instance. Return a FieldFile when accessed so you can write code like:

>>> from myapp.models import MyModel
>>> instance = MyModel.objects.get(pk=1)
>>> instance.file.size

Assign a file object on assignment so you can do:

>>> with open('/path/to/hello.world') as f:
...     instance.file = File(f)
approved

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

approved_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

approved_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

flagged

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

flagged_reason

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

flagged_by

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

Child.parent is a ForwardManyToOneDescriptor instance.

flagged_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

property status: str

Return the current review status of this receipt.

property can_delete: bool

Whether this receipt can be deleted by the applicant.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

approved_by_id
flagged_by_id
get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_date(*, field=<django.db.models.fields.DateField: date>, is_next=True, **kwargs)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_date(*, field=<django.db.models.fields.DateField: date>, is_next=False, **kwargs)
get_receipt_type_display(*, field=<django.db.models.fields.CharField: receipt_type>)
grant_id
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
class django_program.programs.models.PaymentInfo[source]

Bases: Model

Secure payment details for travel grant reimbursement.

class PaymentMethod[source]

Bases: TextChoices

ZELLE = 'zelle'
PAYPAL = 'paypal'
ACH = 'ach'
WIRE = 'wire'
WISE = 'wise'
CHECK = 'check'
__new__(value)
grant

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

Restaurant.place is a ForwardOneToOneDescriptor instance.

payment_method

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

legal_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address_street

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address_city

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address_state

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address_zip

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

address_country

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

paypal_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

zelle_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

wise_email

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_account_number

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_routing_number

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_holder_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_holder_address

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_address

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

bank_additional

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

get_next_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=True, **kwargs)
get_next_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=True, **kwargs)
get_payment_method_display(*, field=<django.db.models.fields.CharField: payment_method>)
get_previous_by_created_at(*, field=<django.db.models.fields.DateTimeField: created_at>, is_next=False, **kwargs)
get_previous_by_updated_at(*, field=<django.db.models.fields.DateTimeField: updated_at>, is_next=False, **kwargs)
grant_id
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>