所以我在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)
你不能
Django模型(或其基础数据库)是静态数据。做出运行时决策是要使用Model方法的:
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
关于Model方法的好处是,它们在框架其余部分中的行为类似于Model字段。尚不清楚您的会员模型是否具有可用的推荐计数,因此我some_field
在其位置上使用了它。根据您希望此查询进行数据驱动的方式,它可能会保证拥有自己的模型。
在Django的教程盖模型方法在它的第一部分,这使我相信,关于他们的问题已相当普遍。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句