chore(models): fill verbose_name to most models. (#314)

* chore(models): fill `verbose_name` to most models.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
954 2023-02-07 00:07:33 +08:00 committed by GitHub
parent e6af204bbb
commit 116103b2a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -42,13 +42,11 @@ try:
except ImportError:
from typing_extensions import Final
try:
from django.db.models import JSONField
except ImportError:
from django_jsonfield_backport.models import JSONField
CHARFIELD_LENGTH: Final = 100
@ -112,8 +110,15 @@ class EnumGroup(models.Model):
verbose_name = _('EnumGroup')
verbose_name_plural = _('EnumGroups')
name = models.CharField(_('Name'), unique=True, max_length=CHARFIELD_LENGTH)
values = models.ManyToManyField(EnumValue, verbose_name=_('Enum group'))
name = models.CharField(
unique=True,
max_length=CHARFIELD_LENGTH,
verbose_name=_('Name'),
)
values = models.ManyToManyField(
EnumValue,
verbose_name=_('Enum group'),
)
def __str__(self):
"""String representation of `EnumGroup` instance."""
@ -206,13 +211,15 @@ class Attribute(models.Model):
# Core attributes
datatype = EavDatatypeField(
verbose_name=_('Data Type'), choices=DATATYPE_CHOICES, max_length=6
choices=DATATYPE_CHOICES,
max_length=6,
verbose_name=_('Data Type'),
)
name = models.CharField(
verbose_name=_('Name'),
max_length=CHARFIELD_LENGTH,
help_text=_('User-friendly attribute name'),
verbose_name=_('Name'),
)
"""
@ -221,11 +228,11 @@ class Attribute(models.Model):
(see :meth:`~eav.fields.EavSlugField.create_slug_from_name`).
"""
slug = models.SlugField(
verbose_name=_('Slug'),
max_length=SLUGFIELD_MAX_LENGTH,
db_index=True,
unique=True,
help_text=_('Short unique attribute label'),
verbose_name=_('Slug'),
)
"""
@ -234,9 +241,16 @@ class Attribute(models.Model):
means that *all* entities that *can* have this attribute will
be required to have a value for it.
"""
required = models.BooleanField(verbose_name=_('Required'), default=False)
required = models.BooleanField(
default=False,
verbose_name=_('Required'),
)
entity_ct = models.ManyToManyField(ContentType, blank=True)
entity_ct = models.ManyToManyField(
ContentType,
blank=True,
verbose_name=_('Entity content type'),
)
"""
This field allows you to specify a relationship with any number of content types.
This would be useful, for example, if you wanted an attribute to apply only to
@ -246,30 +260,36 @@ class Attribute(models.Model):
enum_group = models.ForeignKey(
EnumGroup,
verbose_name=_('Choice Group'),
on_delete=models.PROTECT,
blank=True,
null=True,
verbose_name=_('Choice Group'),
)
description = models.CharField(
verbose_name=_('Description'),
max_length=256,
blank=True,
null=True,
help_text=_('Short description'),
verbose_name=_('Description'),
)
# Useful meta-information
display_order = models.PositiveIntegerField(
verbose_name=_('Display order'), default=1
default=1,
verbose_name=_('Display order'),
)
modified = models.DateTimeField(verbose_name=_('Modified'), auto_now=True)
modified = models.DateTimeField(
auto_now=True,
verbose_name=_('Modified'),
)
created = models.DateTimeField(
verbose_name=_('Created'), default=timezone.now, editable=False
default=timezone.now,
editable=False,
verbose_name=_('Created'),
)
@property
@ -434,13 +454,23 @@ class Value(models.Model): # noqa: WPS110
# Entity generic relationships. Rather than rely on database casting,
# this will instead use a separate ForeignKey field attribute that matches
# the FK type of the entity.
entity_id = models.IntegerField(blank=True, null=True)
entity_uuid = models.UUIDField(blank=True, null=True)
entity_id = models.IntegerField(
blank=True,
null=True,
verbose_name=_('Entity id'),
)
entity_uuid = models.UUIDField(
blank=True,
null=True,
verbose_name=_('Entity uuid'),
)
entity_ct = models.ForeignKey(
ContentType,
on_delete=models.PROTECT,
related_name='value_entities',
verbose_name=_('Entity ct'),
)
entity_pk_int = generic.GenericForeignKey(
@ -455,25 +485,53 @@ class Value(models.Model): # noqa: WPS110
# Model attributes
created = models.DateTimeField(
_('Created'),
default=timezone.now,
verbose_name=_('Created'),
)
modified = models.DateTimeField(_('Modified'), auto_now=True)
modified = models.DateTimeField(
auto_now=True,
verbose_name=_('Modified'),
)
# Value attributes
value_bool = models.BooleanField(blank=True, null=True)
value_csv = CSVField(blank=True, null=True)
value_date = models.DateTimeField(blank=True, null=True)
value_float = models.FloatField(blank=True, null=True)
value_int = models.BigIntegerField(blank=True, null=True)
value_text = models.TextField(blank=True, null=True)
value_bool = models.BooleanField(
blank=True,
null=True,
verbose_name=_('Value bool'),
)
value_csv = CSVField(
blank=True,
null=True,
verbose_name=_('Value CSV'),
)
value_date = models.DateTimeField(
blank=True,
null=True,
verbose_name=_('Value date'),
)
value_float = models.FloatField(
blank=True,
null=True,
verbose_name=_('Value float'),
)
value_int = models.BigIntegerField(
blank=True,
null=True,
verbose_name=_('Value int'),
)
value_text = models.TextField(
blank=True,
null=True,
verbose_name=_('Value text'),
)
value_json = JSONField(
default=dict,
encoder=DjangoJSONEncoder,
blank=True,
null=True,
verbose_name=_('Value JSON'),
)
value_enum = models.ForeignKey(
@ -482,10 +540,15 @@ class Value(models.Model): # noqa: WPS110
null=True,
on_delete=models.PROTECT,
related_name='eav_values',
verbose_name=_('Value enum'),
)
# Value object relationship
generic_value_id = models.IntegerField(blank=True, null=True)
generic_value_id = models.IntegerField(
blank=True,
null=True,
verbose_name=_('Generic value id'),
)
generic_value_ct = models.ForeignKey(
ContentType,
@ -493,6 +556,7 @@ class Value(models.Model): # noqa: WPS110
null=True,
on_delete=models.PROTECT,
related_name='value_values',
verbose_name=_('Generic value content type'),
)
value_object = generic.GenericForeignKey(