如何进行查询以仅获取每个用户的数据

阿卜杜先生

我有一个使用 3 个表的查询。lawarticlemarked我有一个网站,用户可以选择一个网站law来阅读所有articles. 对于每篇文章,用户可以对其进行标记或为这篇文章键入一些描述。

markerdescription被保存在marked表中。因此,当用户再次打开他的法律时,他的所有标记和描述都会被加载。

问题是在我的查询中,我不知道如何显示登录用户的描述和标记。我的查询显示了标记表中注册的所有用户的描述和标记。

标记的表格内容示例:

 id is_marked  description  article_id  law_id user_id
"0"   "0"       "test1"     "1100"       "3"    "1"
"1"   "0"       "test2"     "1102"       "3"    "1"

如果我访问law = 3user_id =2,的所有描述都user_id = 1被显示。

我的查询:

 law = get_object_or_404(Law, pk=pk)    
    articles = Article.objects.filter(law=pk)    
    articles = (
    Article
    .objects
    .filter(law=pk)
    .annotate(
        is_marked=Exists(
            Marked
            .objects
            .filter(
                article_id=OuterRef('id'),
                usuario=request.user,
                is_marked=1,
            )
           )
        )
    .annotate(
        description=(F('markedLaw__description'))        
    ).order_by('id')

我的型号:

class Law(models.Model):
    name  = models.CharField('Nome', max_length=100)
    description = models.TextField('Description', blank = True, null=True)


class Article(models.Model):
    article = models.TextField('Article')
    id_article_law = models.IntegerField('Article Law', blank=True, null=True)

    law = models.ForeignKey(Law, on_delete=models.CASCADE, verbose_name='Law', related_name='Articles')


class Marked(models.Model):
    law = models.ForeignKey(Law, on_delete=models.CASCADE, verbose_name='Law', related_name='markedArtigos')
    Article = models.ForeignKey(Article, on_delete=models.CASCADE, verbose_name='Article', related_name='markedLaw')
    usuario = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name='markedUsuario', related_name='markedUsuario')
    is_marked = models.BooleanField('Está Marcado?', blank=True, default=False)
    description = models.TextField('Descrição', blank = True, null=True)
瓦卢卡斯

您可以创建一个模板标签过滤器,它将接收登录的用户和文章并过滤 Marked 模型。

在这种情况下,您将在模板级别处理它,无需进行注释。

这是参考:https : //docs.djangoproject.com/en/2.1/howto/custom-template-tags/

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何进行查询以获取用户的所有组,以显示每个组具有的用户(PostgreSQL)

来自分类Dev

RoR:如何进行查询以返回每个组的总和值?

来自分类Dev

如何进行计划的MySql查询以每小时提取数据?

来自分类Dev

如何进行单个查询

来自分类Dev

如何进行复杂的查询

来自分类Dev

MySQL如何进行查询以从联结表中获取信息以及不在该联结中的数据

来自分类Dev

如何进行优化的SQL查询以检索每个时间片组中的许多记录

来自分类Dev

仅如何进行注册邀请?

来自分类Dev

如何进行递归LINQ查询?

来自分类Dev

如何进行jQuery媒体查询?

来自分类Dev

如何进行django模型查询

来自分类Dev

Django-如何进行此查询

来自分类Dev

Mongoosastic,如何进行地理距离查询

来自分类Dev

mysql如何进行这样的查询

来自分类Dev

如何进行高级搜索查询?

来自分类Dev

如何进行此SQL查询?

来自分类Dev

我如何进行此查询

来自分类Dev

GraphQL 如何进行关系查询?

来自分类Dev

如何进行正确的 UPDATE 查询?

来自分类Dev

如何进行快速查询

来自分类Dev

如何进行查询以获取具有空属性的模型

来自分类Dev

如何进行查询以获取具有最新时间列值的特定行

来自分类Dev

如何进行具有多个过滤器的Django数据库查询?

来自分类Dev

如何获取用户输入并在 where 子句中专门从数据库中进行查询?

来自分类Dev

JIRA查询以获取每个用户的问题数

来自分类Dev

用户注册系统时如何进行登录

来自分类Dev

在Nexus中记录用户活动,该如何进行?

来自分类Dev

每次用户按下按钮时如何进行迭代?

来自分类Dev

如何进行转换SQL内部连接查询与实体框架

Related 相关文章

热门标签

归档