Django过滤器外键字段

肯纳

简洁版本:

我有一个用于食谱的Django应用,并且想过滤要发送到模板的数据。我基本上希望将特定用户添加的所有收据作为上下文发送。以下过滤为int()返回以10为底的错误消息无效文字:my_username

recipes = Recipe.objects.filter(added_by = uname)

变量uname从模板传递。另一方面,对request.user进行过滤可以正常工作,但不是我想要的。

recipes = Recipe.objects.filter(added_by = request.user)

细节:

我的模型(相关字段)为:

class Recipe (models.Model):
    ...
    ...
    added_by = models.ForeignKey(User)

其中User是现有的Django用户。当我在模板中调用{{recipe.added_by}}时,将获得所需的用户名。该用户名将传递给具有href =“ / profile / {{recipe.added_by}}”的视图,该视图如下所示:

def profile(request, uname):

    print uname #Correct username printed
    print request.user #Logged in user (not relevant, as userprofile should be visible for all)

    recipes = Recipe.objects.filter(added_by = uname) #Does not work. Why?
    #recipes = Recipe.objects.filter(added_by = request.user)

    form = CommentForm(request.POST)

    context = {
        'uname': uname,
        'recipes': recipes,
        'form': form,
    }
    return render(request, '*app_name*/profile.html', context)

不确定我缺少什么,但是据我所知,这似乎与add_by具有用户外键有关。我也尝试根据[1]将过滤器参数更改为recipe__added_by__added_by = uname,但是Django随后返回了一个错误,提示“无法将关键字'recipe'解析为字段”,这似乎很明显。我的网址是:

url(r'^profile/([a-zA-Z0-9]+)/$', 'profile', name='*app_name*-profile'),

感谢您的答复。抱歉,这应该很明显。

[1] Django模型按外键过滤

鲁德拉

您可以尝试:

 recipes = Recipe.objects.filter(added_by__username = uname)

request.user可以正常工作,Recipe.objects.filter(added_by = request.user)因为它request.user是一个对象。详细信息:https : //docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django过滤器查询集(如果存在字段)

来自分类Dev

Django模型过滤器

来自分类Dev

Django CreateView ModelForm下拉字段queryset过滤器

来自分类Dev

Django Deliciouspie过滤器布尔字段

来自分类Dev

Django过滤器查询集(如果字段存在)

来自分类Dev

Django过滤器ManyToMany字段

来自分类Dev

基于Django中字段的动态范围过滤器

来自分类Dev

Django过滤外键对象中的字段

来自分类Dev

Django模型中多对多字段的过滤器选择

来自分类Dev

Django queryset过滤器文件字段不为空

来自分类Dev

在Django-admin中,如何添加过滤器或搜索外键选择框?

来自分类Dev

除指定的字段列表外,所有字段的Logstash过滤器remove_field

来自分类Dev

Django,通过反向外键查询添加数据(外键与过滤器联接)

来自分类Dev

在OneToOne字段上添加_id并失败的Django过滤器

来自分类Dev

在Django中的QuerySet过滤器中反向外键

来自分类Dev

使用多个外键的Django过滤器

来自分类Dev

添加查找表达式后未显示Django过滤器字段-Django过滤器库

来自分类Dev

Django tastypie过滤器布尔字段

来自分类Dev

Django中的动态过滤器选择字段

来自分类Dev

外键Django管理员的日期范围列表过滤器

来自分类Dev

Django 过滤外键

来自分类Dev

django 查询集过滤器外键

来自分类Dev

带有外键的Django两参数过滤器查询

来自分类Dev

带有不同模型的外键的 DJango 查询集过滤器

来自分类Dev

选择字段中的Django CreateView过滤器外键

来自分类Dev

外键模型查询过滤器

来自分类Dev

Django 反向外键过滤器

来自分类Dev

Django Rest Framework 视图集 - 基于用户名问题的外键过滤过滤器

来自分类Dev

Django排除对同一模型的多个外键的过滤器

Related 相关文章

热门标签

归档