我正在使用Django中的系统,用户将输入一个股票代码,该代码将被保存(使用模型)。当他们登录时,他们会看到他们输入的股票代码。但是,因为目前每个人都看到相同的条目,这是他们所有输入的集合。
这是我的models.py文件:
class StockTickerSymbol(models.Model):
StockName = models.CharField(max_length=6)
test = models.CharField(default="Test", max_length=100)
added_date = models.DateTimeField('Date Added', default=datetime.now)
def __unicode__(self):
return self.StockName
这是我的views.py文件:
def fav(request):
context = RequestContext(request)
favorites_list = StockTickerSymbol.objects.order_by('-added_date')
context_dict = {'favorites': favorites_list}
return render_to_response('favorites/favorites.html', context_dict, context)
无论如何,我可以让用户只看到自己的条目,而不是看到每个人的条目?感谢
答案 0 :(得分:2)
您的模型需要对用户模型的引用,因此您可以将查询集限制为请求用户,如下所示:
<强>模型强>
from django.contrib.auth.models import User
class StockTickerSymbol(models.Model):
StockName = models.CharField(max_length=6)
user = models.ForeignKey(User)
test = models.CharField(default="Test", max_length=100)
added_date = models.DateTimeField('Date Added', default=datetime.now)
def __unicode__(self):
return self.StockName
查看强>
def fav(request):
context = RequestContext(request)
favorites_list = StockTickerSymbol.objects.filter(user=request.user).order_by('-added_date')
context_dict = {'favorites': favorites_list}
return render_to_response('favorites/favorites.html', context_dict, context)