django-eav2/eav/logic/managers.py

27 lines
743 B
Python

from django.db import models
class EnumValueManager(models.Manager):
def get_by_natural_key(self, value):
return self.get(value=value)
class EnumGroupManager(models.Manager):
def get_by_natural_key(self, name):
return self.get(name=name)
class AttributeManager(models.Manager):
def get_by_natural_key(self, name, slug):
return self.get(name=name, slug=slug)
class ValueManager(models.Manager):
def get_by_natural_key(self, attribute, entity_id, entity_uuid):
from eav.models import Attribute
attribute = Attribute.objects.get(name=attribute[0], slug=attribute[1])
return self.get(
attribute=attribute, entity_id=entity_id, entity_uuid=entity_uuid
)