我有一个
class Posts(models.Model):
created_by = models.ForeignKey(User)
post = models.CharField(max_length=150)
active = models.NullBooleanField()
def __unicode__(self):
return self.post
现在我想过滤我class Posts的created_by=testuser。为此我做
p = Posts.objects.filter(created_by=poster, active=True)
由此var(poster)来自所要求的url(r'^(?P<poster>\w+)/$', views.Posts),
如果我通过转到 my-domain.tld/testuser 来执行它,我会得到一个ValueError: invalid literal for int() with base 10: 'testuser'
如果我尝试过滤,如果我尝试按命令过滤,则会manage.py shell收到错误消息。NameError: name 'testuser' is not definedp = Posts.objects.filter(created_by=testuser)
如何正确过滤我created_by的内容是models.ForeignKey(User)的字段。无论如何有解决方案还是我应该创建额外的CharField创作者(海报)作为内容?