не может разобрать список объектов из отношения Many2one - PullRequest
0 голосов
/ 24 декабря 2018

Я создал 2 модели: Фирма и Узел, каждая фирма может иметь много узлов: Итак, это мои классы:

class Node(models.Model):
    name = models.CharField(default='node', max_length=32)
    firm = models.ForeignKey(
        'Firm',
        on_delete=models.CASCADE,
        null=True,
        blank=True
    )
class Firm(models.Model):
    name = models.CharField(max_length=32)
    address = models.CharField(max_length=32)

Я хочу показать список своих узлов в фирме.view, это то, что я пробовал: я создал метод view:

def firm_detail_view(request, id):
    object = Firm.objects.get(id=id)
    context = {
        'object': object,
        'nodes': Node.objects.filter(firm__id__=id)
    }
    return render(request, "node/firm_detail.html")

Это моя страница firm_detail:

{% extends 'base.html' %}
{% block content %}
    {{ object }}
    <h1>Firm: {{ object.name }}</h1>
    {{ nodes }}
    {% for instance in nodes %}
        <p>{{ instance.id }} - {{ instance.name }}</p>
    {% endfor %}
{% endblock %}

Всякий раз, когда я звоню, я получаю FieldError:

Unsupported lookup '' for AutoField or join on the field not permitted.

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Конечные подчеркивания не нужны фирменный__id__ -> фирменный__ид.Также вы можете напрямую использовать firm = object для объединения.

0 голосов
/ 24 декабря 2018

измените Node.objects.filter (firm__id __ = id) на Node.objects.filter (firm__id = id), завершающие подчеркивания не нужны

...