summaryrefslogtreecommitdiff
path: root/docs/django.rst
blob: 382b332e9eff282d7637a281eab2e2b3bf11304f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Interaction with Django
=======================

.. module:: semantic_version.django_fields

The ``python-semanticversion`` package provides two custom fields for Django:

- :class:`VersionField`: stores a :class:`semantic_version.Version` object
- :class:`SpecField`: stores a :class:`semantic_version.BaseSpec` object

Those fields are :class:`django.db.models.CharField` subclasses,
with their :attr:`~django.db.models.CharField.max_length` defaulting to 200.


.. class:: VersionField

    Stores a :class:`semantic_version.Version` as its string representation.

    .. attribute:: partial

        Boolean; whether :attr:`~semantic_version.Version.partial` versions are allowed.

    .. attribute:: coerce

        Boolean; whether passed in values should be coerced into a semver string
        before storing.


.. class:: SpecField

    Stores a :class:`semantic_version.BaseSpec` as its textual representation.

    .. attribute:: syntax

        The syntax to use for the field; defaults to ``'simple'``.

        .. versionaddedd:: 2.7