作者的 django 条目
django entries of author
我需要获取所有作者及其出版物的列表
{% for author in authors %}
{{ author.name }}
{% for publish in publishes %}
{{ publish.title }}
{% endfor %}
{% endfor %}
views.py:
def authors_list(request):
authors = Author.objects.all()
publishes = Group.objects.filter(author=author)
return render(request, 'app/authors_list.html', {'authors': authors,'publishes': publishes})
这种方式 'publishes' 未定义。
问题是在您尝试定义 publishes
时未定义 publishes
它具有误导性,但错误标记如下:
publishes = Group.objects.filter(publishes=publishes)
^^^^^^^^^
希望能帮助您找到问题
编辑后:
publishes = Group.objects.filter(author=author)
^^^^^^
我想你需要为 Author
定义一个 @propery
:
阅读this
假设您在组模型中有一个外键,您可以这样做,
{% for author in authors %}
{{ author.name }}
{% for publish in author.group_set.all() %}
{{ publish.title }}
{% endfor %}
{% endfor %}
您可以访问具有相关名称的作者组。
为此,您还可以为方便起见定义一个 related_name。
您可以添加,
author = models.ForeignKey(Author, related_name='groups')
在您的组模型中。
如果你已经添加了related_name,那么你可以调用related_objects,比如
{% for publish in author.groups.all() %}
在您的模板中。
那就改变你的看法,
def authors_list(request):
authors = Author.objects.all()
return render(request, 'app/authors_list.html', {'authors': authors})
我需要获取所有作者及其出版物的列表
{% for author in authors %}
{{ author.name }}
{% for publish in publishes %}
{{ publish.title }}
{% endfor %}
{% endfor %}
views.py:
def authors_list(request):
authors = Author.objects.all()
publishes = Group.objects.filter(author=author)
return render(request, 'app/authors_list.html', {'authors': authors,'publishes': publishes})
这种方式 'publishes' 未定义。
问题是在您尝试定义 publishes
publishes
它具有误导性,但错误标记如下:
publishes = Group.objects.filter(publishes=publishes)
^^^^^^^^^
希望能帮助您找到问题
编辑后:
publishes = Group.objects.filter(author=author)
^^^^^^
我想你需要为 Author
定义一个 @propery
:
阅读this
假设您在组模型中有一个外键,您可以这样做,
{% for author in authors %}
{{ author.name }}
{% for publish in author.group_set.all() %}
{{ publish.title }}
{% endfor %}
{% endfor %}
您可以访问具有相关名称的作者组。
为此,您还可以为方便起见定义一个 related_name。 您可以添加,
author = models.ForeignKey(Author, related_name='groups')
在您的组模型中。
如果你已经添加了related_name,那么你可以调用related_objects,比如
{% for publish in author.groups.all() %}
在您的模板中。
那就改变你的看法,
def authors_list(request):
authors = Author.objects.all()
return render(request, 'app/authors_list.html', {'authors': authors})