32 lines
1008 B
Python
32 lines
1008 B
Python
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")
|