当我试图从其他表中使用外键检索数据时,出现以下异常:
'User' object has no attribute 'UserFeed_set'
视图:
def user_page(request, username):
try:
u = User.objects.get(username=username)
except User.DoesNotExist:
raise Http404(u'Requested user not found.')
feeds = u.UserFeed_set.all()
variables = RequestContext(request, {
'username' : username,
'feeds' : feeds
})
return render_to_response('user_page.html', variables)
型号.py:
from django.contrib.auth.models import User
class AllFeeds(models.Model):
url = models.CharField(unique=True, max_length=40)
def __unicode__(self):
return self.url
class UserFeed(models.Model):
user = models.ForeignKey(User)
myfeeds = models.ForeignKey(AllFeeds)
def __unicode__(self):
return u'%s %s'%(self.user.username,self.link.url)
这里的主要问题是您需要使用正确的相关名称格式,它都是小写的;但是您的模型还有一些其他问题。
清理你的代码,你会得到:
您的模型还需要一些编辑,因为您没有
self.link.url
:如我所知,如果两个模型使用manytomany关系,则可以使用u.userfeed_set.all(),但正如您所说,您的模型使用的是一对一关系
如果在} ,那么它应该是一个可访问的
UserFeed
模型的ForeignKey
字段上没有^{user.userfeed_set
。(默认名称是model.__name__.lower() + "_set"
)。如果您已经设置了
releated_name
,那么将调用您命名的作为值的方法。相关问题 更多 >
编程相关推荐