首页 > 解决方案 > Django中的推荐应用

问题描述

我想为用户在登录时创建的配置文件创建一个 Django 应用程序推荐系统

每当人们登录时,他们都可以选择创建个人资料,并在该创建个人资料表格中输入推荐代码,最终为个人推荐添加一些点

这是我的个人资料模型

class Profile(models.Model):
  owner = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,default='')
  name = models.CharField(max_length=200,null=True,blank=True)
  number = models.CharField(max_length=11,default=None,null=True)
  text = models.TextField(max_length=520)
  facebook = models.URLField(name='facebook',default=None,null=True)
  linkedin = models.URLField(name='linkedin',default=None,null=True)
  instagram = models.URLField(name='instagram',default=None,null=True)
  profile_picture = models.ImageField(upload_to='profile_pic/', max_length=None)
  published_date = models.DateTimeField(auto_now_add=True, null=True)
  updated_date = models.DateTimeField(blank=True, null=True)
  is_active = models.BooleanField(default=False)

 def __str__(self):
    return self.name

应该在此配置文件中添加什么以获取推荐代码?

以及如何创建推荐类???

标签: djangodjango-modelsdjango-viewsreferrals

解决方案


您可以将这样的字段添加到配置文件:

referral_code = models.CharField(max_length=20, unique=True)

这必须在 Profile create 上填充一些随机字符串。

然后您可以在创建新用户时进行以下操作。

try:
    referral_profile = Profile.objects.get(referral_code=ref_code)
except Profile.DoesNotExist:
    pass

if referral_profile:
    # do something here. Use 'referral_profile' to get user that referred this user.
    pass


推荐阅读