Source code for endoreg_db.models.requirement.requirement_operator

from django.db import models
from typing import TYPE_CHECKING


class RequirementOperatorManager(models.Manager):
    def get_by_natural_key(self, name):
        """
        Retrieve a RequirementOperator instance by its natural key.
        
        Args:
            name (str): The unique name representing the natural key.
        
        Returns:
            RequirementOperator: The model instance matching the provided name.
        """
        return self.get(name=name)


[docs] class RequirementOperator(models.Model): """ A class representing a requirement operator. Attributes: name (str): The name of the requirement operator. name_de (str): The German name of the requirement operator. name_en (str): The English name of the requirement operator. description (str): A description of the requirement operator. """ name = models.CharField(max_length=100, unique=True) name_de = models.CharField(max_length=100, blank=True, null=True) name_en = models.CharField(max_length=100, blank=True, null=True) description = models.TextField(blank=True, null=True) objects = RequirementOperatorManager() if TYPE_CHECKING: from endoreg_db.models.requirement.requirement import Requirement requirements: models.QuerySet[Requirement]
[docs] def natural_key(self): """ Return the natural key for the requirement operator. This method returns a tuple containing the operator's name, which serves as its natural key for serialization and unique identification within the system. """ return (self.name,)
def __str__(self): """ Return the string representation of the requirement operator. Returns: str: The name attribute of the operator. """ return str(self.name)