""" 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 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_extra_types = 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 "{} | {} m²".format(self.biotope_type, self.surface)