我有一个
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 defined
p = Posts.objects.filter(created_by=testuser)
如何正确过滤我created_by
的内容是models.ForeignKey(User)的字段。无论如何有解决方案还是我应该创建额外的CharField
创作者(海报)作为内容?