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

30 lines
958 B
Python

from django.contrib.auth.models import AbstractUser
from django.db import models
# Create your models here.
class Product(models.Model):
name = models.CharField(max_length=255)
description = models.CharField(max_length=1024)
cost = models.IntegerField()
product_id = models.UUIDField(blank=True)
image = models.CharField(max_length=1024, blank=True)
def __str__(self):
return f"{self.name}{self.cost})"
class User(AbstractUser):
# Stripe customer ID
stripe_id = models.CharField(max_length=255, blank=True)
subscription_id = models.CharField(max_length=255, blank=True)
subscription_active = models.BooleanField(blank=True)
last_payment = models.DateTimeField(blank=True)
paid = models.BooleanField(blank=True)
plans = models.ManyToManyField(Product, blank=True)
def has_plan(self, plan):
plan_list = [plan.name for plan in self.plans.all()]
return plan in plan_list