如何通过 Django 中的用户模型引用模型?

瑞安

所以我有两个模型——UserInfo模型,它引用了 Django 的内置User模型,Article模型,由每个用户编写,如下所示。

class UserInfo(models.Model):
    objects = models.Manager()
    this_user = models.OneToOneField(User, on_delete=models.CASCADE, related_name = 'userinfo', null=True, default=None)
    real_name = models.CharField(max_length=20, blank=False)

class Article(models.Model):
    objects = models.Manager()
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name = 'article', null=True, default=None)
    body = models.CharField(max_length=20, blank=False)

这是我的views.py.

def create_ans_us(request):
    current_article = Article.objects.get(id=1)
    ...
    context = {
        'current_article' : current_article,
    }
    return render(request, 'main/main.html', context)

在 Django 模板标签中,我试图渲染如下所示real_name字段UserInfo

<html>
...
{{current_article.user_id.real_name}}
</html>

现在很明显,我想将real_name字段呈现给模板。我如何使这成为可能?提前致谢。:)

威廉·范·翁塞姆

您应该遵循authorcurrent_article,因此:

{{ current_article.author.userinfo.real_name }}

这将导致额外的数据库调用。您可以在使用[Django-doc]获取对象同一查询中获取作者的数据.select_related(…)

from django.shortcuts import get_object_or_404

def create_ans_us(request):
    current_article = get_object_or_404(
        Article.objects.select_related('author', 'author__userinfo'),
        id=1
    )
    …
    context = {
        'current_article' : current_article,
    }
    return render(request, 'main/main.html', context)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django如何通过API保存模型中的用户信息

如何在django中通过外键向其他模型引用的模型添加新列

通过Django中的模型

如何从 django 用户模型中获取用户名

Django如何为用户模型制作模型

Django:如何找到用户模型?

Django:如何在类中添加模型类或引用?

如何在Sphinx文档中引用Django模型?

如何使用String引用Django中的模型字段?

如何在Django模型中存储当前用户

Django:如何从模型中检索特定用户的特定项目?

如何删除django用户模型中的名字和姓氏列?

如何使当前用户成为 Django 模型中的外键

如何在Django用户模型中添加新字段

如何从Django模型定义中访问用户信息?

如何在 Django 中检查用户是否是模型对象的成员?

如何使用这些模型在Django中的用户模型中添加is_client方法?

如何编写自引用Django模型?

Django,如何通过模型字段访问模型内部的模型

如何在Django REST中通过多对多发布模型

如何访问 Django Rest Framework 中扩展用户模型的序列化程序中的用户模型字段?

如何将用户名从用户模型关联到Django中的另一个模型?

如何在 Django 中创建一个用户模型,其中包含一个也是“用户”模型的朋友列表

如何通过列表填充 django 模型

如何自定义 Django 用户模型?

如何将 Django 中的关系添加到在我需要引用的模型之前创建的模型中?

使模型属于Django中的用户

访问通过用户模型链接到不同模型的 Django 模型上的字段

如何通过最近在 Django 中创建的模型对象来过滤模型对象?