代表成员级别Django模型

2024-05-14 18:23:09 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在Django有一个代表子公司的模型。每个用户都会收到一个推荐佣金。推荐人收到多少取决于他们的用户级别。用户级别取决于他们有多少推荐人。低于5个转诊=基本,低于10个转诊=中级,低于15个转诊=高级。在

会员的数量是如何由会员代码自动决定的?我们说吧

class Affiliate(models.Model):
    user= models.OneToOneField(User)
    affiliate_id = models.PositiveIntegerField(primary_key=True)
    referral_id = models.PositiveIntegerField(blank=False, null=False)
    user_level = (
('B', 'Basic'),
('I', 'Intermediate'),
('A', 'Advanced'),
 default='B')
    referred_by = models.ForeignKey(referral_id, default=1)

Tags: django用户模型idfalsedefaultmodels代表
1条回答
网友
1楼 · 发布于 2024-05-14 18:23:09

你不能

它是一个静态的数据库模型。要做出运行时决策,模型方法的作用是:

class Affiliate(model.Model):
    affiliate_id = models.PositiveIntegerField(primary_key=True)
    …

    def user_level(self):
        levels = [(5, 'B'), …]
        for referrals, category in levels:
             if self.some_field < referrals:
                 return category 

模型方法的好处是它们的行为类似于框架其余部分中的模型字段。不清楚你的分支模型是否有可用的推荐计数,所以我用some_field代替它。根据您希望此查找的数据驱动方式,它可能需要自己的模型。在

第一节中的django tutorial covers Model methods,这让我相信关于它们的问题已经相当普遍了。在

相关问题 更多 >

    热门问题