""" 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²"