from django.utils.translation import gettext_lazy as _ from django.db import models from rules.contrib.models import RulesModel from outbo.apps.core.models import TimestampableDeletableMixin from outbo.apps.organizations import rules class Brand(TimestampableDeletableMixin, RulesModel): class Meta: verbose_name = _("brand") verbose_name_plural = _("brands") rules_permissions = {"read": rules.can_read_brand} name = models.CharField(verbose_name=_("name"), max_length=50) client = models.ForeignKey( verbose_name=_("client"), to="ClientOrganization", on_delete=models.CASCADE, related_name="brands", related_query_name="brand", null=False, ) suppliers = models.ManyToManyField( verbose_name=_("suppliers"), to="SupplierOrganization", related_name="brands", related_query_name="brand", ) categories = models.ManyToManyField( verbose_name=_("categories"), to="Category", related_name="brands", related_query_name="brand", ) def __str__(self): return self.name