Python 代表Django模型的成员级别
所以我在Django有一个代表附属公司的模型。用户每获得一次推荐都会收到一笔佣金。推荐人收到的数量取决于他们的用户级别。用户级别取决于他们有多少推荐。5以下推荐=基本,10以下推荐=中级,15以下推荐=高级 我如何对模型进行编码,以便用户级别由分支机构拥有的转介量自动确定?比方说Python 代表Django模型的成员级别,python,django,postgresql,model,affiliate,Python,Django,Postgresql,Model,Affiliate,所以我在Django有一个代表附属公司的模型。用户每获得一次推荐都会收到一笔佣金。推荐人收到的数量取决于他们的用户级别。用户级别取决于他们有多少推荐。5以下推荐=基本,10以下推荐=中级,15以下推荐=高级 我如何对模型进行编码,以便用户级别由分支机构拥有的转介量自动确定?比方说 class Affiliate(models.Model): user= models.OneToOneField(User) affiliate_id = models.PositiveInteger
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)
你不能
django模型或其基础数据库是静态数据。进行运行时决策是模型方法的用途:
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
模型方法的优点在于,它们的行为类似于框架其余部分中的模型字段。现在还不清楚你的会员模式是否有一个可供参考的数量,所以我在它的位置上使用了一些_字段。根据您希望此查找是数据驱动的方式,它可能需要自己的模型
在第一部分,我相信关于它们的问题已经很普遍了。非常感谢。老实说,我想得到一些安慰。我正在考虑使用一种模型方法,但我希望有更有经验的人给我机会。