django 实现点击按钮查看资源然后扣积分,怎么样让用户与这个资源相关

2018-12-10 20:11:54 +08:00
 python30
比如

资源信息
class NiHao(models.Model):
mingzi = models.CharField(max_length=60, verbose_name=_(u'名字 /称呼'), blank = True, null = True,)
vip = models.CharField(max_length=60, verbose_name=_(u'看这里要扣积分'), blank = True, null = True,)
body = models.TextField(_(u'求职主要介绍,教育经历,工作经历等'))
mmtags = models.ManyToManyField('MmTags', verbose_name = _(u'标签信息'), blank = True)
category = models.ForeignKey('Category', verbose_name = _('栏目分类'))
level = models.IntegerField(default=2, verbose_name=u'值几分')

用户信息
class User(AbstractUser):
levels = models.IntegerField(default=0, verbose_name = u'总积分')
nickname = models.CharField(max_length=36, blank=True, null=True, verbose_name=u'名称')
list_id = models.PositiveIntegerField(_(u'信息类型区别'), default = 0)

如果一个用户要看资源里的 VIP 字段的信息 需要点击一个按妞,ajax 需要一个涵数执行 aauser.levels - bbnihao.level 这样

如果用户这次查看了。下次再看还需要再扣积分。不知道用 django 实现的话。怎么样让用户与这个资源有一个标志。
当用户再查看到这信息的时候。不需要再扣积分

不知这样说能让大家明白我要解决的问题不。
水行有限实在没想出啥思种。哪位大神指导一下?
1640 次点击
所在节点    Python
6 条回复
beny2mor
2018-12-10 20:47:00 +08:00
难道没使用数据库吗
zxcvsh
2018-12-10 21:39:01 +08:00
总该有个统计信息的“库”吧
不管是文件还是数据库,加一个字段标识,扣积分的时候修改值
下次用户登录的时候就加载到 session 里面,这是最简单的
python30
2018-12-10 21:39:15 +08:00
@beny2mor
肯定用。我现在想到了一个思路正在试。不知道可以不
largecat
2018-12-10 21:52:14 +08:00
建个库存放用户 id 和资源 id 的关系,
python30
2018-12-10 22:06:52 +08:00
@largecat 用 Contenttypes ?
xpresslink
2018-12-10 22:18:41 +08:00
这个是很简单的问题啊,直接再弄一个 Model
通常只要两个字段,user_id, resource_id, 分别外键到 User Model 和 Nihao Model
这么弄最省事,逻辑上也简单,但是只能用于数据量不大的情况。

这么弄如果在用户量比较大,资源量也很大的情况下要考虑一下性能问题。
那样话只能用 redis 这种内存数据库,把 user_id 做键对应列表,所有访问过的资源 id 压到 list 里面。
不过要考虑一下数据持久化方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516265

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX