Revision 08ce0e6f snf-quotaholder-app/quotaholder_django/quotaholder_app/models.py
b/snf-quotaholder-app/quotaholder_django/quotaholder_app/models.py | ||
---|---|---|
35 | 35 |
from synnefo.lib.commissioning import CorruptedError |
36 | 36 |
|
37 | 37 |
from django.db.models import (Model, BigIntegerField, CharField, |
38 |
ForeignKey, AutoField) |
|
38 |
ForeignKey, AutoField, DecimalField)
|
|
39 | 39 |
from django.db import transaction |
40 | 40 |
from .managers import ForUpdateManager |
41 | 41 |
|
42 |
DECIMAL_DIGITS = 38 |
|
43 |
QH_MAX_INT = 10**32 |
|
44 |
|
|
45 |
def decimalField(**kwargs): |
|
46 |
return DecimalField(max_digits=DECIMAL_DIGITS, decimal_places=0, **kwargs) |
|
47 |
|
|
42 | 48 |
class Holder(Model): |
43 | 49 |
|
44 | 50 |
attribute = CharField(max_length=4096, primary_key=True) |
... | ... | |
59 | 65 |
class Policy(Model): |
60 | 66 |
|
61 | 67 |
policy = CharField(max_length=4096, primary_key=True) |
62 |
quantity = BigIntegerField(null=True, default=None)
|
|
63 |
capacity = BigIntegerField(null=True, default=None)
|
|
64 |
import_limit = BigIntegerField(null=True, default=None)
|
|
65 |
export_limit = BigIntegerField(null=True, default=None)
|
|
68 |
quantity = decimalField()
|
|
69 |
capacity = decimalField()
|
|
70 |
import_limit = decimalField()
|
|
71 |
export_limit = decimalField()
|
|
66 | 72 |
|
67 | 73 |
objects = ForUpdateManager() |
68 | 74 |
|
... | ... | |
74 | 80 |
policy = ForeignKey(Policy, to_field='policy') |
75 | 81 |
flags = BigIntegerField(null=False, default=0) |
76 | 82 |
|
77 |
imported = BigIntegerField(null=False, default=0)
|
|
78 |
importing = BigIntegerField(null=False, default=0)
|
|
79 |
exported = BigIntegerField(null=False, default=0)
|
|
80 |
exporting = BigIntegerField(null=False, default=0)
|
|
81 |
returned = BigIntegerField(null=False, default=0)
|
|
82 |
returning = BigIntegerField(null=False, default=0)
|
|
83 |
released = BigIntegerField(null=False, default=0)
|
|
84 |
releasing = BigIntegerField(null=False, default=0)
|
|
83 |
imported = decimalField(default=0)
|
|
84 |
importing = decimalField(default=0)
|
|
85 |
exported = decimalField(default=0)
|
|
86 |
exporting = decimalField(default=0)
|
|
87 |
returned = decimalField(default=0)
|
|
88 |
returning = decimalField(default=0)
|
|
89 |
released = decimalField(default=0)
|
|
90 |
releasing = decimalField(default=0)
|
|
85 | 91 |
|
86 | 92 |
objects = ForUpdateManager() |
87 | 93 |
|
... | ... | |
113 | 119 |
|
114 | 120 |
entity = ForeignKey(Entity, to_field='entity') |
115 | 121 |
resource = CharField(max_length=4096, null=False) |
116 |
quantity = BigIntegerField(null=False)
|
|
122 |
quantity = decimalField()
|
|
117 | 123 |
|
118 | 124 |
objects = ForUpdateManager() |
119 | 125 |
|
... | ... | |
126 | 132 |
issue_time = CharField(max_length=4096) |
127 | 133 |
log_time = CharField(max_length=4096) |
128 | 134 |
resource = CharField(max_length=4096) |
129 |
source_quantity = BigIntegerField(null=True)
|
|
130 |
source_capacity = BigIntegerField(null=True)
|
|
131 |
source_import_limit = BigIntegerField(null=True)
|
|
132 |
source_export_limit = BigIntegerField(null=True)
|
|
133 |
source_imported = BigIntegerField(null=False)
|
|
134 |
source_exported = BigIntegerField(null=False)
|
|
135 |
source_returned = BigIntegerField(null=False)
|
|
136 |
source_released = BigIntegerField(null=False)
|
|
137 |
target_quantity = BigIntegerField(null=True)
|
|
138 |
target_capacity = BigIntegerField(null=True)
|
|
139 |
target_import_limit = BigIntegerField(null=True)
|
|
140 |
target_export_limit = BigIntegerField(null=True)
|
|
141 |
target_imported = BigIntegerField(null=False)
|
|
142 |
target_exported = BigIntegerField(null=False)
|
|
143 |
target_returned = BigIntegerField(null=False)
|
|
144 |
target_released = BigIntegerField(null=False)
|
|
145 |
delta_quantity = BigIntegerField(null=False)
|
|
135 |
source_quantity = decimalField()
|
|
136 |
source_capacity = decimalField()
|
|
137 |
source_import_limit = decimalField()
|
|
138 |
source_export_limit = decimalField()
|
|
139 |
source_imported = decimalField()
|
|
140 |
source_exported = decimalField()
|
|
141 |
source_returned = decimalField()
|
|
142 |
source_released = decimalField()
|
|
143 |
target_quantity = decimalField()
|
|
144 |
target_capacity = decimalField()
|
|
145 |
target_import_limit = decimalField()
|
|
146 |
target_export_limit = decimalField()
|
|
147 |
target_imported = decimalField()
|
|
148 |
target_exported = decimalField()
|
|
149 |
target_returned = decimalField()
|
|
150 |
target_released = decimalField()
|
|
151 |
delta_quantity = decimalField()
|
|
146 | 152 |
reason = CharField(max_length=4096) |
147 | 153 |
|
148 | 154 |
objects = ForUpdateManager() |
Also available in: Unified diff