mirror of
https://github.com/pretix/pretix.git
synced 2026-01-02 18:42:27 +00:00
93 lines
2.3 KiB
ReStructuredText
93 lines
2.3 KiB
ReStructuredText
.. highlight:: python
|
|
:linenothreshold: 5
|
|
|
|
Data models
|
|
===========
|
|
|
|
Pretix provides the following data(base) models. Every model and every model method or field that is not
|
|
documented here is considered private and should not be used by third-party plugins, as it may change
|
|
without advance notice.
|
|
|
|
.. IMPORTANT::
|
|
pretix's models are built with `cleanerversion`_, which extends the default Django ORM by adding versioning
|
|
information to the database. There are basically three things you absolutely need to know about cleanerversion:
|
|
|
|
* When querying the database, make sure you only get the current versions::
|
|
|
|
queryset = Model.objects.current.filter(…)
|
|
|
|
* Before you modify an object, clone it::
|
|
|
|
obj = Model.objects.current.get(identity=1) # Prefer identities over primary keys
|
|
obj = obj.clone() # Saves the old version to the database and creates the new one
|
|
obj.foo = 'bar'
|
|
obj.save()
|
|
|
|
* Beware of batch operations, use ``queryset.update()``, ``queryset.delete()`` etc. only if
|
|
you know what you're doing.
|
|
|
|
There is one exception: The ``User`` model is a classic Django model!
|
|
|
|
User model
|
|
----------
|
|
|
|
.. autoclass:: pretix.base.models.User
|
|
:members:
|
|
|
|
Organizers and events
|
|
---------------------
|
|
|
|
.. autoclass:: pretix.base.models.Organizer
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.OrganizerPermission
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.Event
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.EventPermission
|
|
:members:
|
|
|
|
|
|
Items
|
|
-----
|
|
|
|
.. autoclass:: pretix.base.models.Item
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.ItemCategory
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.Property
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.PropertyValue
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.Question
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.ItemVariation
|
|
:members:
|
|
:exclude-members: add_values_from_string
|
|
|
|
.. autoclass:: pretix.base.models.Quota
|
|
:members:
|
|
|
|
Carts and Orders
|
|
----------------
|
|
|
|
.. autoclass:: pretix.base.models.Order
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.OrderPosition
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.CartPosition
|
|
:members:
|
|
|
|
.. autoclass:: pretix.base.models.QuestionAnswer
|
|
:members:
|
|
|
|
.. _cleanerversion: https://github.com/swisscom/cleanerversion |