django年度付款计划模型的建议

时间:2020-05-12 08:06:49

标签: django model

我在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)

预先感谢

1 个答案:

答案 0 :(得分:0)

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