from django.db import models from django_core.models.base import AbstractBaseModel from django.utils.translation import gettext_lazy as _ from django.contrib.auth import get_user_model class Plan(AbstractBaseModel): name = models.CharField(verbose_name=_("Name"), max_length=255) price = models.DecimalField(verbose_name=_("Price"), max_digits=10, decimal_places=2) def __str__(self): return str(self.id) class Meta: db_table = "plan" verbose_name = _("Plan") verbose_name_plural = _("Plans") class UserPlan(AbstractBaseModel): user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name=_("User")) plan = models.ForeignKey(Plan, on_delete=models.CASCADE, verbose_name=_("Plan")) expire = models.DateTimeField(verbose_name=_("Expire")) def __str__(self): return str(self.id) class Meta: db_table = "user_plan" verbose_name = _("User Plan") verbose_name_plural = _("User Plans")