【发布时间】:2015-08-10 01:18:48
【问题描述】:
我有文章模型:
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField(editable=False)
modified = models.DateTimeField(editable=True)
whopost = models.ForeignKey(UserProfile)
我有用户配置文件模型:
class UserProfile(models.Model):
user = models.OneToOneField(User)
info1 = models.BooleanField(default=False)
mobile = models.CharField(max_length=50,default="")
我尝试在用户和文章之间建立关系,以便知道谁创建了文章。这将允许我按登录用户显示文章。
所以,
我尝试在我的文章视图中关注:
def articles(request):
args = {}
args.update(csrf(request))
user_articles = Article.objects.filter(whopost_id=request.user.id)
latest_articles = Article.objects.order_by('-pub_date')[:10]
#display articles in order by date
#args['articles'] = latest_articles
#display articles in order by user
args['articles'] = user_articles
args['language'] = language
args['session_language'] = session_language
return render(request, 'articles.html', args)
我创建了三个用户:
用户 A 用户 B 用户C
在我的 userprofile_userprofile 中有以下用户
id | user_id
1 | 1
2 | 13
3 | 14
在我的 auth_user 用户中有以下用户
id
1
13
14
所以,我得到的值是 1、2、3 而不是 1、13、14。
我应该在我的代码中更改什么以获得值 1, 13, 14 而不是 1, 2, 3 ?
另外,问题的第二部分是:
如何按用户按日期显示文章?
【问题讨论】: