Проблема отображения данных - колба, питон sqlalchemy - PullRequest
0 голосов
/ 07 ноября 2019

Привет, ребята, у меня есть небольшая проблема, У меня две модели Person и Pet, у меня есть два человека и 4 питомца

Что я хочу показать:

  1. Person - и имядомашние животные
  2. В том же виде добавьте ссылку с идентификатором человека, после того, как лизните имя человека и список домашних животных в новом представлении ЧТО Я ТАК ДАЛЕЕ МОДЕЛИ:
class Person(db.Model):

    id = db.Column(db.Integer,primary_key = True)
    name = db.Column(db.Text)
    pets = db.relationship('Pet', backref='owner', lazy='joined')

    def __init__(self,name):
        self.name = name

 class Pet(db.Model):

    id = db.Column(db.Integer,primary_key= True)
    name = db.Column(db.Text)
    owner_id = db.Column(db.Integer,db.ForeignKey('person.id'))

    def __init__(self,name,owner_id):
        self.name = name
        self.owner_id = owner_id

ЧТО Я ТАК ДАВАЛ ВИД:

def list_item():
    # Grab a list of puppies from database.
    persons = Person.query.all()
    return render_template('list.html', persons=persons)

ЧТО Я ТАК ДАЛЕ HTML: (list.html)

{% for person in persons %}
<li>{{ person.name }} - {{ person.pets }}</li>
{% endfor %}

ВЫХОД:

   • Person1 - [<Pet 3>, <Pet 4>, <Pet 1>]
   • Person2 - [<Pet 2>]

, и я хочу иметь доступ к таким статьям, как имя у домашних животныхзвонящие.

Спасибо!

1 Ответ

2 голосов
/ 07 ноября 2019

В вашем html-шаблоне есть person.pets список Pet объектов. Вы можете перебирать их с помощью дополнительного цикла for, чтобы получить объекты Pet и их атрибуты:

{% for person in persons %}
<li>
    {{ person.name }} has the following pets:
    <ul>
        {% for pet in person.pets %}
        <li> {{ pet.name }} </li>
        {% endfor %}
    </ul>
</li>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...