django年度付款计划模型建议

问题描述 投票:0回答:1

我在django 3应用程序中使用默认的django用户身份验证模型进行身份验证。

我想为用户提供3个可以购买的计划。计划A,计划B,计划C。这3个计划的视图可访问性不同,但有效期均为1年。

扩展用户模型以保持用户付费计划的最佳方法是什么?另外,从购买之日起一年后,我如何“终止”该计划?

from django.db import models
from django.contrib.auth.models import User

class UserSubscription(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    none = 0
    planA = 1
    planB = 2
    planC = 3
    Plans = (
       (planA, _('Plan A')),
       (planB, _('Plan B')),
       (planC, _('Plan C')),
       )
    plan = models.PositiveSmallIntegerField(
       choices=Plans,
       default=none,
     )
    start_date = models.DateField(null=True, blank=True)
    is_subscribed = models.BooleanField(_('no'), default=False)

提前感谢

django model
1个回答
0
投票

我认为,我什至不会碰User模型。有一个模型可以满足您的所有计划。然后使用另一种模型(成员资格类型),您可以在其中保存用户模型ID以及他们计划使用的所有其他属性(例如start_date等)进行订阅的计划。

© www.soinside.com 2019 - 2024. All rights reserved.