【发布时间】:2014-06-27 15:28:08
【问题描述】:
我有 2 个模型
class Post(models.Model):
user = models.ForeignKey(User, verbose_name='User')
content = models.TextField(verbose_name='Text', max_length=4000)
date = models.DateTimeField(verbose_name='Date', default=now())
class Vote(models.Model):
vote = models.IntegerField(choices=VOTE, verbose_name='Vote')
post = models.ForeignKey(Post, verbose_name='Post')
user = models.ForeignKey(User, verbose_name='User')
并查看最近 15 个帖子的加载情况:
posts = Post.objects.all().order_by('-date')[:15]
现在我想在我的所有查询集对象中获得有关活跃用户投票的信息
我想到了 Post 模型中的自定义方法,该方法将检查登录的用户并获取投票对象:
def user_vote(self):
try:
data = Vote.objects.filter(post=self, user=request.user)
return data.vote
except ObjectDoesNotExist:
#not voted
但似乎 django 不允许在模型中使用请求。 还有其他想法吗?
【问题讨论】:
标签: python django django-models