mpeltriaux
7bacbecdec
* adds command sync_codelist * provides updating of all codes to the newest version (id) * must be run once on staging, can be dropped afterwards since the root for the problem has been resolved on the codelist management application
49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
"""
|
|
Author: Michel Peltriaux
|
|
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
|
|
Contact: michel.peltriaux@sgdnord.rlp.de
|
|
Created on: 16.11.21
|
|
|
|
"""
|
|
from django.db import models
|
|
from django.db.models import Q
|
|
|
|
from codelist.models import KonovaCode
|
|
from codelist.settings import CODELIST_BIOTOPES_ID, CODELIST_BIOTOPES_EXTRA_CODES_ID
|
|
from compensation.managers import CompensationStateManager
|
|
from konova.models import UuidModel
|
|
|
|
|
|
class CompensationState(UuidModel):
|
|
"""
|
|
Compensations must define the state of an area before and after the compensation.
|
|
"""
|
|
biotope_type = models.ForeignKey(
|
|
KonovaCode,
|
|
on_delete=models.SET_NULL,
|
|
null=True,
|
|
blank=True,
|
|
limit_choices_to={
|
|
"code_lists__in": [CODELIST_BIOTOPES_ID],
|
|
"is_selectable": True,
|
|
"is_archived": False,
|
|
},
|
|
related_name='+',
|
|
)
|
|
biotope_type_details = models.ManyToManyField(
|
|
KonovaCode,
|
|
blank=True,
|
|
limit_choices_to={
|
|
"code_lists__in": [CODELIST_BIOTOPES_EXTRA_CODES_ID],
|
|
"is_selectable": True,
|
|
"is_archived": False,
|
|
},
|
|
related_name='+',
|
|
)
|
|
surface = models.FloatField()
|
|
|
|
objects = CompensationStateManager()
|
|
|
|
def __str__(self):
|
|
return f"{self.biotope_type} | {self.surface} m²"
|