django - 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
应该在此配置文件中添加什么以获取推荐代码?
以及如何创建推荐类???
解决方案
您可以将这样的字段添加到配置文件:
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
推荐阅读
- java - 如何在 Java 中通过 UTF-8 中的 REST 获取 Confluence 页面?
- embedded - 如何使用 IAR IDE 和 STM32 控制器编写 switch 语句
- linux - unRAID 服务器上的 NetData,显示哪些进程与外部网络有连接?
- python-3.x - QcomboBox.currentdata返回None类型,怎么办?
- angularjs - Angular 2 vs AngularJS CSP(内容安全策略)绕过易感性
- xml - 如何在转换 xsllt 期间获取额外的参数
- node.js - 节点 - 无法获取 /api/posts
- google-bigquery - 问:如何从表中排除人名
- visual-studio-code - VScode Search 在远程机器上无法正常工作
- apache-flink - 如果我将自动提交设置为 true 和