You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

30 lines
748 B

from typing import Any, Dict, Protocol, Tuple
from django.db import models
from labels.models import Category
class ExportedLabelManager(models.Manager):
pass
class ExportedLabel(Protocol):
objects: models.Manager = ExportedLabelManager()
def to_dict(self) -> Dict[str, Any]:
raise NotImplementedError("Please implement this method in the subclass.")
def to_string(self) -> str:
raise NotImplementedError("Please implement this method in the subclass.")
def to_tuple(self) -> Tuple:
raise NotImplementedError("Please implement this method in the subclass.")
class ExportedCategory(Category):
def to_string(self) -> str:
return self.label.text
class Meta:
proxy = True