首页 > 解决方案 > 实现用户选择服务/包的建议模型结构 - Django

问题描述

我正在构建一个提供不同服务的应用程序,用户可以选择和购买特定需要的包。我想知道创建模型的最佳方式,以便我们的用户可以选择并在付款后将服务设置为活动状态。我有一个模型,其中包含有关每个单独服务的信息,其中包括(包标题/描述/价格)。我需要另一个模型来处理与每个用户关联的服务,但我不确定如何去做。

我创建了两个模型,如下所示,但不确定如何完成上述操作,因为我相信有更好的方法来完成此操作。

class ClubPackages(models.Model):

club_id = models.ForeignKey(ClubInfo, on_delete=models.CASCADE)
PACKAGE_STATUS = (
    ('0', 'Active'),
    ('1', 'Not Active')
)
player_register_package = models.CharField(default='1', max_length=1, choices=PACKAGE_STATUS)
player_register_price = models.DecimalField(default=100.00, max_digits=8, decimal_places=2)
player_register_expiry = models.DateField(default=timezone.now)
roster_package = models.CharField(default='1', max_length=1, choices=PACKAGE_STATUS)
roster_price = models.DecimalField(default=50.00, max_digits=8, decimal_places=2)
roster_expiry = models.DateField(default=timezone.now)
rent_a_pitch_package = models.CharField(default='1', max_length=1, choices=PACKAGE_STATUS)
rent_a_pitch_price = models.DecimalField(default=100.00, max_digits=8, decimal_places=2)
rent_a_pitch_expiry = models.DateField(default=timezone.now)
shop_package = models.CharField(default='1', max_length=1, choices=PACKAGE_STATUS)
shop_price = models.DecimalField(default=50.00, max_digits=8, decimal_places=2)
shop_expiry = models.DateField(default=timezone.now)


class OurPackages(models.Model):

title = models.CharField(max_length=50)
description = models.TextField(max_length=200)
price = models.DecimalField(max_digits=8, decimal_places=2)

def __str__(self):
        return self.title

标签: djangopython-3.xdjango-models

解决方案


推荐阅读