mini_buildd.models module

Models of the django app mini_buildd

Naming conventions

Model class and field names

All model class names and all field names must be human readable with no abbreviations (as django, per default, displays the internal names intelligently to the end user).

Model class names must be in CamelCase.

Field names must be all lowercase and separated by underscores.

For example, don’t try to do sort of “grouping” using names like:

email_notify
email_allow_regex

This should rather read:

notify
allow_emails_to

To group fields together for the end user, use AdminModel’s fieldset option.

Methods

Any methods that represent mini-buildd logic should go into the models directly, but must be prefixed with “mbd_”. This avoids conflicts with method names form the django model’s class, but still keeps the logic where it belongs.

mini_buildd.models.mbd_msg(request, msg_lines, prefix='', level=20, level_followups=20)

Convey message to user via django messaging, with extra multiline (‘followups’) formatting support

mini_buildd.models.mbd_msg_exception(request, exception, prefix='')
class mini_buildd.models.UnixTextField(*args, db_collation=None, **kwargs)

Bases: TextField

Normalizes \r\n newlines (usually send by browsers) to Unix newlines \n

get_prep_value(value)

Perform preliminary non-db specific value checks and conversions.

class mini_buildd.models.Model(*args, **kwargs)

Bases: Model

Abstract father model for all mini-buildd models

This just makes sure no config is changed or deleted while the daemon is running.

MBD_HELP_EXTRA_OPTIONS = ''
extra_options

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

pickled_data

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

classmethod mbd_get_or_none(**kwargs)

Get unambiguous instance or None if no such instance (objects.get() w/o exception)

classmethod mbd_get_fields(exclude=None)
class Meta

Bases: object

abstract = False
app_label = 'mini_buildd'
class Admin(*args, **kwargs)

Bases: ModelAdmin

save_model(request, obj, form, change)

Given a model instance save it to the database.

delete_model(request, obj)

Given a model instance delete it from the database.

get_fields(*args, **kwargs)

Make ‘extra_options’ and ‘pickled_data’ opt-on and last fields

property media
mbd_class_name()

Allow to get class name in templates

mbd_get_extra_options()

In case there are multiple entries, the last wins

mbd_get_extra_option(key, default=None)
classmethod mbd_validate_regex(regex, value, field_name)
mbd_get_dependencies()
mbd_get_reverse_dependencies()
classmethod mbd_get_default(field_name)
class mini_buildd.models.StatusModel(*args, **kwargs)

Bases: Model

Abstract model class for all models that carry a status

STATUS_REMOVED = 0
STATUS_PREPARED = 1
STATUS_ACTIVE = 2
STATUS_CHOICES = [(0, 'Removed'), (1, 'Prepared'), (2, 'Active')]
status

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

CHECK_NONE = datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)
CHECK_CHANGED = datetime.datetime(1, 1, 2, 0, 0, tzinfo=datetime.timezone.utc)
CHECK_FAILED = datetime.datetime(1, 1, 3, 0, 0, tzinfo=datetime.timezone.utc)
CHECK_REACTIVATE = datetime.datetime(1, 1, 4, 0, 0, tzinfo=datetime.timezone.utc)
CHECK_STRINGS = {datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc): {'char': '-', 'string': 'Unchecked -- please run check'}, datetime.datetime(1, 1, 2, 0, 0, tzinfo=datetime.timezone.utc): {'char': '*', 'string': 'Changed -- please prepare again'}, datetime.datetime(1, 1, 3, 0, 0, tzinfo=datetime.timezone.utc): {'char': 'x', 'string': 'Failed -- please fix and check again'}, datetime.datetime(1, 1, 4, 0, 0, tzinfo=datetime.timezone.utc): {'char': 'A', 'string': 'Failed in active state -- will auto-activate when check succeeds again'}}
last_checked

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

LETHAL_DEPENDENCIES = True
auto_reactivate

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

class Meta

Bases: Meta

abstract = False
class Admin(*args, **kwargs)

Bases: Admin

save_model(request, obj, form, change)

Given a model instance save it to the database.

classmethod mbd_prepare(obj)
classmethod mbd_check(obj, force=False, needs_activation=False)
classmethod mbd_pc(obj, force=False, needs_activation=False)
classmethod mbd_activate(obj)
classmethod mbd_pca(obj, force=False, needs_activation=False)
classmethod mbd_deactivate(obj)
classmethod mbd_remove(obj)
classmethod mbd_action(request, queryset, action, **kwargs)

Try to run action on each object in queryset

Emit error message on failure, but don’t fail ourself.

mbd_action_prepare(request, queryset)
mbd_action_check(request, queryset)
mbd_action_pc(request, queryset)
mbd_action_activate(request, queryset)
mbd_action_pca(request, queryset)
mbd_action_deactivate(request, queryset)
mbd_action_remove(request, queryset)
classmethod colored_status(obj)
actions = [<function StatusModel.Admin.mbd_action_prepare>, <function StatusModel.Admin.mbd_action_check>, <function StatusModel.Admin.mbd_action_pc>, <function StatusModel.Admin.mbd_action_activate>, <function StatusModel.Admin.mbd_action_pca>, <function StatusModel.Admin.mbd_action_deactivate>, <function StatusModel.Admin.mbd_action_remove>]
list_display = ['colored_status', '__str__']
property media
mbd_set_changed()
mbd_is_prepared()
mbd_is_active()
mbd_is_checked()
mbd_is_changed()
mbd_is_reactivate()
classmethod mbd_get_active()
classmethod mbd_get_active_or_auto_reactivate()
classmethod mbd_get_prepared()
mbd_get_check_display(typ='string')
mbd_get_status_display(typ='string')
extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
pickled_data

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

class mini_buildd.models.GnuPGPublicKey(*args, **kwargs)

Bases: StatusModel

key_id

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

key

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

key_long_id

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

key_created

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

key_expires

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

key_name

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

key_fingerprint

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

class Meta

Bases: Meta

abstract = False
app_label = 'mini_buildd'
class Admin(*args, **kwargs)

Bases: Admin

search_fields = ['key_id', 'key_long_id', 'key_name', 'key_fingerprint']
readonly_fields = ['key_long_id', 'key_created', 'key_expires', 'key_name', 'key_fingerprint']
property media
mbd_key_id()

Get valid key id while preferring long key id

Traditionally, also short ids were used for key_id. This assures a valid key is returned regardless of the state (if unprepared, key_long_id would be empty) while also preferring the long key if it exists.

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

classmethod mbd_filter_key(key_id)
mbd_prepare()
mbd_remove()
mbd_sync()
mbd_check()

Check that we actually have the key and long_id. This should always be true after prepare

mbd_verify(signed_message)
auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
last_checked

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

pickled_data

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.

class mini_buildd.models.AptKey(id, extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint)

Bases: GnuPGPublicKey

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
id

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

key

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

key_created

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

key_expires

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

key_fingerprint

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

key_id

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

key_long_id

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

key_name

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

last_checked

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

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

source_set

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.

status

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

class mini_buildd.models.Uploader(id, extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint, user)

Bases: GnuPGPublicKey

user

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.

may_upload_to

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 Admin(*args, **kwargs)

Bases: Admin

search_fields = ['key_id', 'key_long_id', 'key_name', 'key_fingerprint', 'user__username']
readonly_fields = ['key_long_id', 'key_created', 'key_expires', 'key_name', 'key_fingerprint', 'user']
filter_horizontal = ('may_upload_to',)
property media
exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
id

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

key

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

key_created

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

key_expires

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

key_fingerprint

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

key_id

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

key_long_id

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

key_name

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

last_checked

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

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.

user_id
mini_buildd.models.cb_create_user_profile(sender, instance, created, **kwargs)

Automatically create a user profile with every user that is created

class mini_buildd.models.Remote(extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint, http, wake_command)

Bases: GnuPGPublicKey

http

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

wake_command

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

class Admin(*args, **kwargs)

Bases: Admin

search_fields = ['key_id', 'key_long_id', 'key_name', 'key_fingerprint', 'http']
readonly_fields = ['key_long_id', 'key_created', 'key_expires', 'key_name', 'key_fingerprint', 'key', 'key_id']
property media
mbd_url()
mbd_api(command, timeout=None)
mbd_get_status(timeout=2, wake=False, wake_sleep=5, wake_attempts=2)
mbd_prepare()
mbd_check()

Check whether the remote mini-buildd is up, running and serving for us

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
key

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

key_created

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

key_expires

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

key_fingerprint

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

key_id

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

key_long_id

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

key_name

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

last_checked

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

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.

class mini_buildd.models.Builders(wake=False, check=False)

Bases: list

All active builders (ourselves as Meta-Remote plus all actual Remotes) with status

Is used to choose builder to upload to, and as data for the Builder’s View.

class Builder(remote, status, exception, ourselves)

Bases: tuple

exception

Alias for field number 2

ourselves

Alias for field number 3

remote

Alias for field number 0

status

Alias for field number 1

get(codename, arch)

Get a dict {<load>: <status>} of active builders for <codename>/<arch>

class mini_buildd.models.Archive(extra_options, pickled_data, url, ping)

Bases: Model

URLOPEN_TIMEOUT = 15
url

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

ping

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

class Admin(*args, **kwargs)

Bases: Admin

search_fields = ['url']
property media
clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

class ReleaseFile(url_base)

Bases: object

close()
match(source)
verify(_gnupg)
mbd_ping()

Ping and update the ping value

mbd_get_reverse_dependencies()

Return all sources (and their deps) that use us

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

extra_options

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

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

source_set

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 mini_buildd.models.Architecture(extra_options, pickled_data, name)

Bases: Model

name

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

architectureoption_set

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.

chroot_set

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.

distribution_set

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.

extra_options

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

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

source_set

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 mini_buildd.models.Component(*args, **kwargs)

Bases: Model

A Debian component (like ‘main’, ‘contrib’, ‘non-free’)

name

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

distribution_set

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.

extra_options

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

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

source_set

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 mini_buildd.models.Source(id, extra_options, pickled_data, status, last_checked, auto_reactivate, origin, codename, description, codeversion, codeversion_override)

Bases: StatusModel

MBD_HELP_EXTRA_OPTIONS = "\n=================================================\nOrigin, Codename, Suite, Archive, Version, Label\n=================================================\nIf needed, you may use these fields (same as in a Release file) to\nfurther specify this source. These are also later used to pin the\nsource via apt.\n\nFor some sources, ``Codename`` (as we use it above) does\nnot match resp. value as given in the Release file. When\n``Codename`` is overridden in this manner, be sure to also\nadd one further flag to identify the source -- else apt pinning later\nwould likely not be unambiguous. Real world examples that need this\nextra handling are ``Debian Security`` (``buster`` or\nolder), ``Ubuntu Security and Backports``:\n---\nCodename: bionic\nSuite: bionic-backports\n---\n=================================================\nX-Check-Valid-Until: no\n=================================================\nSome sources have a ``Valid-Until`` field that is no longer\nupdated. If you really still want to use it anyway, use:\n---\nX-Check-Valid-Until: no\n---\nThis will, 1st, ignore mini-buildd's own 'Valid-Until check' and 2nd,\ncreate apt lines for this source with the ``[check-valid-until=no]``\noption. I.e., at least from ``stretch`` onwards, the check is disabled\nper source. For ``jessie`` or worse (where this apt option does not\nwork), a global workaround via schroot is still in place.\n\n=================================================\nX-Remove-From-Component: <prefix>\n=================================================\nSome (actually, we only know of ``Debian Security``) sources\nhave weird ``Components`` that need to be fixed to work with\nmini-buildd. For example, ``Debian Security`` (buster or older)\nneeds:\n\n---\nCodename: stretch\nLabel: Debian-Security\nX-Remove-From-Component: updates/\n---\n\nFwiw, in ``Debian Security`` for ``bullseye`` or\nyounger, Codename is now unambiguous (like\n``bullseye-security``), but the component oddity remains; so\nthese cases still need:\n\n---\nX-Remove-From-Component: updates/\n---\n"
origin

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

codename

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

apt_keys

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.

description

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

codeversion

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

codeversion_override

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

archives

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.

components

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.

architectures

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 Admin(*args, **kwargs)

Bases: Admin

list_display = ['colored_status', '__str__', 'origin', 'codeversion', 'codename']
search_fields = ['origin', 'codeversion', 'codename']
ordering = ['origin', '-codeversion', 'codename']
readonly_fields = ['codeversion_override', 'archives', 'components', 'architectures', 'description']
filter_horizontal = ('apt_keys',)
get_readonly_fields(_request, obj=None)

Forbid to change identity on existing source (usually a bad idea; repos/chroots that refer to us may break)

classmethod mbd_filter_active_base_sources()

Filter active base sources; needed in chroot and distribution wizards

property media
mbd_release_file_values()

Compute a dict of values a matching release file must have

mbd_get_archive()

Get fastest archive

mbd_get_apt_line(limit_components=None)
mbd_get_apt_pin()

Apt ‘pin line’ (for use in a apt ‘preference’ file)

mbd_prepare()
mbd_sync()
mbd_remove()
mbd_check()

Rescan all archives, and check that there is at least one working

mbd_get_dependencies()
mbd_get_reverse_dependencies()

Return all chroots and repositories that use us

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

chroot_set

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.

distribution_set

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.

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
id

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

last_checked

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

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

prioritysource_set

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.

status

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

class mini_buildd.models.PrioritySource(id, extra_options, pickled_data, source, priority)

Bases: Model

source

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.

priority

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

class Admin(*args, **kwargs)

Bases: Admin

search_fields = ['source__origin', 'source__codename']
property media
mbd_get_apt_preferences()
exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

distribution_set

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.

extra_options

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

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

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

source_id
class mini_buildd.models.Suite(id, extra_options, pickled_data, name)

Bases: Model

name

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

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

extra_options

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

id

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

layout_set

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.

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

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

suiteoption_set

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 mini_buildd.models.SuiteOption(id, extra_options, pickled_data, layout, suite, uploadable, experimental, migrates_to, build_keyring_package, auto_migrate_after, not_automatic, but_automatic_upgrades)

Bases: Model

layout

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.

suite

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.

uploadable

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

experimental

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

migrates_to

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.

build_keyring_package

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

auto_migrate_after

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

not_automatic

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

but_automatic_upgrades

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

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

property rollback

Rollback field temporarily implemented as extra_option

mbd_get_sort_no()

Compute number that may be used to sort suites from ‘stable’ (0) towards ‘experimental’

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

extra_options

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

id

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

layout_id
migrates_to_id
objects = <django.db.models.manager.Manager object>
pickled_data

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

suite_id
suiteoption_set

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 mini_buildd.models.SuiteOptionInline(parent_model, admin_site)

Bases: TabularInline

model

alias of SuiteOption

extra = 1
exclude = ('pickled_data',)
property media
class mini_buildd.models.Layout(extra_options, pickled_data, name, default_version, mandatory_version_regex, experimental_default_version, experimental_mandatory_version_regex)

Bases: Model

MBD_HELP_EXTRA_OPTIONS = "\nMeta-Distributions: META=CODENAME-SUITE[ META=CODENAME-SUITE[...: Support METAs alone as distribution identifier\n\nMeta distribution identifiers should be unique across all\nrepositories; usually, a layout with meta distributions should\nonly be used by at most one repository.\n\nExample:\n---\nMeta-Distributions: unstable=sid-unstable experimental=sid-experimental\n---\n\n(See standard layout 'Debian Developer'): allows upload/testing of\npackages (to unstable,experimental,..) aimed for Debian.\n"
name

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

suites

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.

default_version

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

mandatory_version_regex

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

experimental_default_version

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

experimental_mandatory_version_regex

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

class Admin(*args, **kwargs)

Bases: Admin

inlines = (<class 'mini_buildd.models.SuiteOptionInline'>,)
property media
mbd_get_reverse_dependencies()

When the layout changes, all repos that use that layout also change

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

extra_options

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

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

repository_set

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.

suiteoption_set

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 mini_buildd.models.ArchitectureOption(id, extra_options, pickled_data, architecture, distribution, optional, build_architecture_all)

Bases: Model

architecture

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.

distribution

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.

optional

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

build_architecture_all

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

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

architecture_id
distribution_id
extra_options

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

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

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

class mini_buildd.models.ArchitectureOptionInline(parent_model, admin_site)

Bases: TabularInline

model

alias of ArchitectureOption

exclude = ('pickled_data', 'extra_options')
extra = 1
property media
class mini_buildd.models.Distribution(id, extra_options, pickled_data, base_source, build_dep_resolver, apt_allow_unauthenticated, lintian_mode, lintian_extra_options, piuparts_mode, piuparts_extra_options, piuparts_root_arg, chroot_setup_script, sbuildrc_snippet)

Bases: Model

MBD_HELP_EXTRA_OPTIONS = '\n===============================================================================================\nSbuild-Config-Blocks: <block> ...: Ordered sbuild config blocks (space-separated)\n\nDefault if not given: set-default-path ccache\n\nAvailable blocks:\n\nset-default-path: [default] Explicitly set $path (to sbuild\'s default value), so later config blocks may add to it\nccache          : [default] Update $path and $$build environment to support ccache\n\n===============================================================================================\nSbuild-Setup-Blocks: <block> ...: Ordered sbuild setup blocks (space-separated)\n\nDefault if not given: apt-setup apt-update ccache eatmydata\n\nAvailable blocks:\n\napt-setup                : [default] Sets up APT for buildrequest (APT keys, optional https, sources and preferences)\napt-update               : [default] Update APT\nccache                   : [default] Installs ccache (together with the \'ccache\' config block, this enables ccache for builds on the same instance)\neatmydata                : [default] Install eatmydata and activate via LD_PRELOAD when possible (may improve speed)\nshow-sbuildrc            : [extra] Print generated \'.sbuildrc\' (informational only)\napt-key-binary           : [extra] Convert APT keys to binary (needed for Debian <= jessie, Ubuntu <= yakketti) -- place between ``apt-setup`` and ``apt-update``\napt-key-add              : [extra] Add APT keys via deprecated ``apt-key add`` (needed for Debian <= squeeze) -- place between ``apt-setup`` and ``apt-update``\napt-no-check-valid-until : [extra] Set APT option "Acquire::Check-Valid-Until false" (needed when Release files are expired) -- place before ``apt-setup``\napt-allow-unauthenticated: [extra] Set APT option "APT::Get::AllowUnauthenticated true" (needed when APT keys are expired) -- place before ``apt-setup``\napt-force-yes            : [extra] Set APT option "APT::Get::Force-Yes true" (compat(urold)) -- place before ``apt-setup``\napt-no-cache             : [extra] Set APT option "Acquire::http::No-Cache true" (compat(urold)) -- place before ``apt-setup``\napt-no-pipelining        : [extra] Set APT option "Acquire::http::Pipeline-Depth 0" (compat(urold)) -- place before ``apt-setup``\napt-clear                : [extra] Try to clear any redundant APT data in ``/var/`` (experimental: can make APT work again if stuck)\nbash-devices             : [extra] Fixup /dev/fd|stdin|stdout|stderr. Needed for *building* bash only. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327477 (compat(bash < 3.0-17 (2005))\nschroot-shm              : [extra] Fixup /dev/shm mount. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728096 (compat(schroot < 1.6.10-3))\nsun-java6-license        : [extra] Accept sun-java6 licence (debconf) so we can build-depend on it (sun-java is no longer part of Debian since 2011)\n\n===============================================================================================\nAutopkgtest-Mode: <MODE>: Mode to control if a check should prevent package installation (for non-experimental suites).\n\n\'DISABLED\' (Don\'t run check), \'IGNORE\' (Run check but ignore results), \'ERRFAIL\' (Run check and fail on errors), \'WARNFAIL\' (Run check and fail on warnings)\n\n===============================================================================================\nInternal-APT-Priority: <PRIORITY>: Set APT priority for internal apt sources in builds.\n\nThe default is 1, which means you will only build against newer\npackages in our own repositories in case it\'s really needed by the\npackage\'s build dependencies. This is the recommended behaviour,\nproducing sparse dependencies.\n\nHowever, some packages with incorrect build dependencies might\nbreak anyway, while they would work fine when just build against\nthe newest version available.\n\nYou may still solve this on a per-package basis, using the\nresp. upload option via changelog. However, in case you don\'t care\nabout sparse dependencies in this distribution in general, you can\npimp the internal priority up here.\n\nExample: Always build against newer internal packages:\n---\nInternal-APT-Priority: 500\n---\n===============================================================================================\nDeb-Build-Options: ...: Set extra build options.\n\nValues to add to environment variable ``DEB_BUILD_OPTIONS`` used when building packages. See\n\n* ``https://www.debian.org/doc/debian-policy/ch-source.html#debian-rules-and-deb-build-options`` and\n* ``https://lists.debian.org/debian-devel/2015/12/msg00262.html\'>Debian dbgsym announcement``\n\nfor valid options. Value may be overridden by the resp. user upload option.\n\nOption ``noddebs`` is useful for Ubuntu distributions that for\nsome reason create their automated debug packages with file appendix\n\'ddeb\', as (see ``https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730572``) reprepo fails on them.\n\nExample: Never build automatic debug packages (Ubuntu bionic, cosmic):\n---\nDeb-Build-Options: noddebs\n---\n===============================================================================================\nDeb-Build-Profiles: ...: Set extra build profiles.\n\nContents of DEB_BUILD_PROFILES environment for building (see ``https://wiki.debian.org/BuildProfileSpec``).\nValue may be overridden by the resp. user upload option.\n'
base_source

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.

extra_sources

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.

components

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.

architectures

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.

RESOLVER_APT = 0
RESOLVER_APTITUDE = 1
RESOLVER_INTERNAL = 2
RESOLVER_CHOICES = ((0, 'apt'), (1, 'aptitude'), (2, 'internal'))
build_dep_resolver

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

apt_allow_unauthenticated

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

lintian_mode

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

lintian_extra_options

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

piuparts_mode

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

piuparts_extra_options

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

piuparts_root_arg

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

chroot_setup_script

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

sbuildrc_snippet

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

class Admin(*args, **kwargs)

Bases: Admin

inlines = (<class 'mini_buildd.models.ArchitectureOptionInline'>,)
filter_horizontal = ('extra_sources', 'components')
property media
mbd_is_active()
mbd_setup()
mbd_get_components()
mbd_get_archall_architectures()
mbd_get_mandatory_architectures()
mbd_get_reverse_dependencies()

When the distribution changes, all repos that use that distribution also change

clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

architectureoption_set

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.

base_source_id
extra_options

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

get_build_dep_resolver_display(*, field=<django.db.models.fields.IntegerField: build_dep_resolver>)
get_lintian_mode_display(*, field=<django.db.models.fields.IntegerField: lintian_mode>)
get_piuparts_mode_display(*, field=<django.db.models.fields.IntegerField: piuparts_mode>)
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>
pickled_data

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

repository_set

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 mini_buildd.models.EmailAddress(extra_options, pickled_data, address, name)

Bases: Model

address

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

name

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

daemon_set

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.

extra_options

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

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

repository_set

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 mini_buildd.models.Repository(extra_options, pickled_data, status, last_checked, auto_reactivate, identity, layout, allow_unauthenticated_uploads, extra_uploader_keyrings, notify_changed_by, notify_maintainer, reprepro_morguedir, external_home_url)

Bases: StatusModel

identity

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

layout

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.

distributions

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.

allow_unauthenticated_uploads

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

extra_uploader_keyrings

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

notify

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.

notify_changed_by

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

notify_maintainer

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

reprepro_morguedir

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

external_home_url

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

LETHAL_DEPENDENCIES = False
class Admin(*args, **kwargs)

Bases: Admin

readonly_fields = []
filter_horizontal = ('distributions', 'notify')
get_readonly_fields(_request, obj=None)

Forbid change identity on existing repository

property media
mbd_setup(with_dists=True)
mbd_json()
clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

mbd_get_diststr(distribution, suite, rollback=None)
mbd_get_diststrs(frollbacks=None, **suiteoption_filter)

List of all distribution strings (except rollbacks) in this repo, optionally matching a suite options filter (unstable, experimental,…)

mbd_get_meta_distributions(distribution, suite_option)
mbd_get_apt_pin(distribution, suite)
mbd_get_apt_preferences(distribution, suite, prio=1)
classmethod mbd_get_apt_keys(distribution)
mbd_get_internal_suite_dependencies(suite_option)
mbd_get_mandatory_version_regex(distribution, suite_option)
mbd_get_default_version(distribution, suite_option)
mbd_get_apt_line(distribution, suite_option, rollback=None, snapshot=None)
mbd_get_apt_build_sources_list(distribution, suite_option)
mbd_get_apt_build_preferences(distribution, suite_option, internal_apt_priority_override=None)
mbd_reprepro_update_config()
mbd_dsc_pool_path(source, version, raise_exception=True)

Get DSC pool path of an installed source (<repo>/pool/...)

mbd_package_migrate(package, distribution, suite, full=False, rollback=None, version=None)
mbd_package_remove(package, distribution, suite, rollback=None, version=None, without_rollback=False)
mbd_package_precheck(distribution, suite_option, package, version)
mbd_package_install(distribution, suite_option, changes, buildresults)

Install a dict arch:buildresult of successful build results

mbd_sorted_distributions()
mbd_icodenames()
mbd_prepare()

Idempotent repository preparation. This may be used as-is as mbd_sync

mbd_sync()
mbd_remove()
mbd_check()
mbd_get_dependencies()
exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
last_checked

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

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

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.

uploader_set

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.

mini_buildd.models.get_meta_distribution_map()

Get a dict of the meta distributions: meta -> actual

mini_buildd.models.map_distribution(diststr)

Map incoming distribution to internal

mini_buildd.models.get_repository(identity)

Get repository object with user error handling

mini_buildd.models.parse_dist(_dist, check_uploadable=False)
mini_buildd.models.parse_diststr(diststr, check_uploadable=False)
class mini_buildd.models.DaemonEmailField(*args, **kwargs)

Bases: EmailField

default_validators = [<django.core.validators.EmailValidator object>]
class mini_buildd.models.Daemon(id, extra_options, pickled_data, status, last_checked, auto_reactivate, identity, hostname, email_address, gnupg_template, gnupg_keyserver, ftpd_bind, ftpd_options, build_queue_size, sbuild_jobs, smtp_server, allow_emails_to, custom_hooks_directory, show_last_packages, show_last_builds, wait_for_build_results, keep_build_results)

Bases: StatusModel

MBD_HELP_EXTRA_OPTIONS = '\nX-Archive-Origin: <origin>\n  Custom APT "Origin" field for repository indices.\n'
MBD_HELP_NEEDS_RESTART = '[Daemon must be restarted to activate this setting.]\n\n'
identity

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

hostname

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

email_address

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

gnupg_template

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

gnupg_keyserver

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

ftpd_bind

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

ftpd_options

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

build_queue_size

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

sbuild_jobs

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

smtp_server

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

notify

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.

allow_emails_to

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

custom_hooks_directory

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

show_last_packages

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

show_last_builds

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

wait_for_build_results

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

keep_build_results

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

LETHAL_DEPENDENCIES = False
class Admin(*args, **kwargs)

Bases: Admin

exclude = ('hostname', 'custom_hooks_directory', 'sbuild_jobs', 'smtp_server', 'wait_for_build_results', 'keep_build_results')
filter_horizontal = ('notify',)
property media
save(*args, **kwargs)

Save model && sync with Daemon()

mbd_get_ftp_endpoint()
mbd_fullname()
mbd_gnupg()
clean(*args, **kwargs)

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

mbd_prepare()
classmethod mbd_sync()
mbd_remove()
mbd_get_dependencies()

All active or to-be active repositories, remotes and chroots

classmethod mbd_check()

Just warn in case there are no repos and no chroots

mbd_get_archive_origin()
mbd_get_dput_conf()
mbd_notify_event(event)
exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

auto_reactivate

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

extra_options

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

get_next_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
id

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

last_checked

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

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.

mini_buildd.models.get_daemon()
class mini_buildd.models.Chroot(id, extra_options, pickled_data, status, last_checked, auto_reactivate, source, architecture, personality, personality_override)

Bases: StatusModel

PERSONALITIES = {'i386': 'linux32'}
MBD_HELP_EXTRA_OPTIONS = '\nDebootstrap-Command: <ALT_COMMAND>: Alternate command to run instead of standard debootstrap\n\n  For example, ``Debootstrap-Command: /usr/sbin/mini-buildd-debootstrap-uname-2.6`` may be used as workaround for urold (``<= lenny``) distributions.\n\nDebootstrap-Extra-Options: <EXTRA_OPTIONS>: Additional debootrap options\n\n  For example, ``--include=foo,bar`` may be used to have these packages pre-installed in build chroots.\n'
source

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.

architecture

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.

personality

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

personality_override

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

class Admin(*args, **kwargs)

Bases: Admin

search_fields = ['source__codename', 'architecture__name']
readonly_fields = ['personality']
get_readonly_fields(_request, obj=None)

Forbid change source/arch on existing chroot (we would loose the path to the associated data)

property media
mbd_key()
property mbd_path
mbd_get_backend()

Get actual class of (saved) instance (even if operating on base class Chroot only)

mbd_schroot_name()

Schroot name w/o namespace (see schroot --list)

Must produce same as schroot_name().

mbd_get_tmp_dir()
mbd_get_schroot_conf_file()
mbd_get_keyring_file()

Get keyring file path. Holds all keys from the source to verify the release via debootstrap’s –keyring option

mbd_get_system_schroot_conf_file()
mbd_get_pre_sequence()

Get preliminary sequence. Subclasses may implement this to do define an extra preliminary sequence

mbd_workaround_debmirror_script()

Attention

workaround (debootstrap): Be able to strap ‘newer Ubuntus’ with Debian’s debootstrap

Installed debootstrap might be outdated and not be able to strap newer codenames. Generally, the solution is to simply install an updated debootstrap that can handle this.

However, newer Ubuntu releases are usually not supported in a timely fashion in Debian’s debootstrap. Furthermore, Ubuntu’s variant no longer provides scripts (or symlinks): See http://changelogs.ubuntu.com/changelogs/pool/main/d/debootstrap/debootstrap_1.0.132ubuntu1/changelog

This workaround basically does the same as the hardcoded change in Ubuntu’s debootstrap: Just use ‘gutsy’ as default. In case that change is incorporated into Debian’s debootstrap, this workaround is obsolete again.

mbd_get_sequence()
mbd_prepare()
mbd_remove()
mbd_sync()
mbd_backend_check()

Run backend check. Subclasses may implement this to do extra backend-specific checks

mbd_apt_line()
mbd_check()
mbd_get_dependencies()
exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

architecture_id
auto_reactivate

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

btrfssnapshotchroot

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.

dirchroot

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.

extra_options

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

filechroot

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_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=True, **kwargs)
get_previous_by_last_checked(*, field=<django.db.models.fields.DateTimeField: last_checked>, is_next=False, **kwargs)
get_status_display(*, field=<django.db.models.fields.IntegerField: status>)
id

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

last_checked

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

lvmchroot

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.

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

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

source_id
status

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

class mini_buildd.models.DirChroot(*args, **kwargs)

Bases: Chroot

Directory chroot backend

UNION_AUFS = 0
UNION_OVERLAYFS = 1
UNION_UNIONFS = 2
UNION_OVERLAY = 3
UNION_CHOICES = ((0, 'aufs'), (1, 'overlayfs'), (2, 'unionfs'), (3, 'overlay'))
union_type

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

class Admin(*args, **kwargs)

Bases: Admin

property media
mbd_backend_flavor()
mbd_get_chroot_dir()
mbd_get_schroot_conf()
mbd_get_post_sequence()
exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

chroot_ptr

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.

chroot_ptr_id
get_union_type_display(*, field=<django.db.models.fields.IntegerField: union_type>)
class mini_buildd.models.FileChroot(*args, **kwargs)

Bases: Chroot

File chroot backend

COMPRESSION_NONE = 0
COMPRESSION_GZIP = 1
COMPRESSION_BZIP2 = 2
COMPRESSION_XZ = 3
COMPRESSION_CHOICES = ((0, 'no compression'), (1, 'gzip'), (2, 'bzip2'), (3, 'xz'))
compression

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

TAR_ARGS = {0: [], 1: ['--gzip'], 2: ['--bzip2'], 3: ['--xz']}
TAR_SUFFIX = {0: 'tar', 1: 'tar.gz', 2: 'tar.bz2', 3: 'tar.xz'}
class Admin(*args, **kwargs)

Bases: Admin

property media
mbd_backend_flavor()
mbd_get_tar_file()
mbd_get_schroot_conf()
mbd_get_post_sequence()
exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

chroot_ptr

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.

chroot_ptr_id
get_compression_display(*, field=<django.db.models.fields.IntegerField: compression>)
class mini_buildd.models.LVMChroot(*args, **kwargs)

Bases: Chroot

LVM chroot backend

class Admin(*args, **kwargs)

Bases: Admin

property media
volume_group

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

filesystem

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

snapshot_size

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

mbd_backend_flavor()
mbd_get_volume_group()
mbd_get_lvm_device()
mbd_get_schroot_conf()
mbd_get_pre_sequence()

Get preliminary sequence. Subclasses may implement this to do define an extra preliminary sequence

mbd_get_post_sequence()
mbd_backend_check()

Run backend check. Subclasses may implement this to do extra backend-specific checks

exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

chroot_ptr

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.

chroot_ptr_id
looplvmchroot

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 mini_buildd.models.LoopLVMChroot(*args, **kwargs)

Bases: LVMChroot

Loop LVM chroot backend

class Admin(*args, **kwargs)

Bases: Admin

property media
loop_size

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

mbd_backend_flavor()
mbd_get_volume_group()
mbd_get_backing_file()
mbd_get_loop_device()
mbd_get_pre_sequence()

Get preliminary sequence. Subclasses may implement this to do define an extra preliminary sequence

exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

lvmchroot_ptr

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.

lvmchroot_ptr_id
class mini_buildd.models.BtrfsSnapshotChroot(*args, **kwargs)

Bases: Chroot

Btrfs Snapshot chroot backend

class Admin(*args, **kwargs)

Bases: Admin

property media
classmethod mbd_backend_flavor()
mbd_get_chroot_dir()
mbd_get_snapshot_dir()
mbd_get_schroot_conf()
mbd_get_pre_sequence()

Get preliminary sequence. Subclasses may implement this to do define an extra preliminary sequence

mbd_get_post_sequence()
exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

chroot_ptr

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.

chroot_ptr_id
class mini_buildd.models.Subscription(id, extra_options, pickled_data, subscriber, package, distribution)

Bases: Model

subscriber

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.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

extra_options

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

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

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

pickled_data

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

subscriber_id
distribution

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