SQLAlchemyとFlaskを使用してHTMLのbackrefパラメーターにアクセスする際の問題

user3324136

バックリファレンスを使用していくつかのテーブルデータにアクセスしようとしているHTMLページ(以下に簡略化)があります。HTMLは、Companyテーブルの{% for buyer in company.buyer%} {% if buyer is none %}backrefbuyer参照して、Buyersテーブルにアクセスできるようにします。

そこから、Buyerテーブル(edetails)のbackrefを使用してEventdetailsテーブルから情報を取得したいと思います。

これが機能しないのは、Eventdetailsテーブルの情報にアクセスしようとしたときです。{{ buyer.edetails.naics}}情報は入力されません。2つの異なるバックリファレンスを一緒に使用することは可能ですか?ありがとうございました!

company.html | 読みやすくするために簡略化

          <div class="container">
            {% for buyer in company.buyer%} {% if buyer is none %}
            <div class="row">
              <div class="col-sm">
                No company has been added.
              </div>
            </div>
            {% else %}
            <!--This is where I start the internal table-->
            <div class="container border bg-light">
              <div class="row">
                <div class="col-sm">
                  {{buyer.firstname}} {{buyer.lastname}}
                </div>
                <div class="col-sm">
                  <!--THIS CODE DOESN'T POPULATE ANY INFORMATION-->
                  <p> {{ buyer.edetails.naics}}</p>
                </div>
              </div>
            </div>
            {% endif %} {% endfor %}
          </div>

views.py

class CompanyView(MethodView):

    decorators = [login_required]
    template_file = 'company.html'

    def get(self, comp_id, event_id):
        company = Company.query.filter_by(id=comp_id).first()
        print(f'The company is {company.company}')
        events = Events.query.filter_by(id=event_id).first()
        print(f'The event is {events.eventname}')
        return render_template(self.template_file, company=company, events=events)

モデルはここにリストされています

models.py

Class Company(db.Model, UserMixin):

    __tablename__ = 'company'

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), unique=True, index=True, nullable=False)
    company = db.Column(db.String(64), index=True, nullable=False)
    company_url = db.Column(db.String(64), index=True, nullable=False)
    duns = db.Column(db.String(11))
    event_id = db.relationship(
        'Events', secondary=event_company, backref='event', lazy='dynamic'
    )
    password_hash = db.Column(db.String(128))
    # Company is parent to the buyer
    buyer = db.relationship('Buyers', backref='buyer', lazy='dynamic')


class Buyers(db.Model, UserMixin):
    __tablename__ = 'buyers'

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), unique=True, index=True, nullable=False)
    firstname = db.Column(db.String(64), index=True, nullable=False)
    lastname = db.Column(db.String(64), index=True, nullable=False)
    company = db.Column(db.Integer, db.ForeignKey('company.id'))
    edetails = db.relationship('Eventdetails', backref='edetails', lazy='dynamic')
    schedule = db.relationship('Buyerschedule', backref='schedule', lazy='dynamic')

class Eventdetails(db.Model):

    __tablename__ = 'eventdetails'
    id = db.Column(db.Integer, primary_key=True)
    schedule_name = db.Column(db.String(64), unique=True, index=True)
    events_id = db.Column(db.Integer, db.ForeignKey('events.id'))
    buyer_id = db.Column(db.Integer, db.ForeignKey('buyers.id'))
    naics = db.Column(db.Integer)
    buyer_schedule_id = db.relationship(
        'Buyerschedule', backref='buyer_sched_id', lazy='dynamic')
オイン

に興味がbuyer.edetails.naicsある場合は、backrefを使用する必要はありません。これは、Eventdetailsに対するバイヤーの関係にすぎません。

現在の設定方法でbuyer.edetailsは、リストが返されます。したがって、アクセスしようとするとエラーが発生する可能性がありますbuyer.edetails.naics

バイヤーとeventdetailsの間に本当に1対1の関係がある場合は、次のように関係を構成できます。

class Buyers(db.Model, UserMixin):
...
    edetails = db.relationship('Eventdetails', backref='edetails', lazy='dynamic', uselist=False)

eventdetails.buyer_id列が一意であることを指定する必要がある場合もあります

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンストラクターへのパラメーターとしてclobを使用する際の問題

分類Dev

Gradleを介してJavaクラスを実行するときにシステムプロパティとパラメーターを渡す際の問題

分類Dev

pg8000を使用して、SQLスクリプトで位置パラメータを使用する際の問題

分類Dev

Pythonのジェネレーター関数を使用して出力にアクセスする際の問題

分類Dev

データベース文字列を使用してファイルにアクセスする際の問題

分類Dev

FlaskとSQLAlchemyを使用して既存のMySQLデータベースにアクセスしようとしたときに「NoSuchTable」エラーを受信する

分類Dev

Redshiftの「PREPARE」にパラメータとして列名を渡す際の問題

分類Dev

SQLAlchemyでは、 `relationship`内の` backref`パラメータに変数を割り当てることができますか?

分類Dev

Linux CLのパラメーターとして拡張ASCII文字を使用する際の問題

分類Dev

リモートYarnクラスターでsparkを使用してS3からファイルにアクセスする際の問題

分類Dev

クラスの静的メンバーにアクセスする際の問題

分類Dev

公開鍵を使用してリモートサーバーにアクセスする際の問題

分類Dev

ggplotとggmapを使用してラスターイメージをプロットする際の問題

分類Dev

配列をパラメーターとして渡す際の問題

分類Dev

閉じる前にクライアントとしてQLocalServerにデータを送信する際の問題

分類Dev

sqlAlchemyを使用してデータベースでSQLクエリを実行する際の問題

分類Dev

命令をパラメーターとして使用してPowerShellを呼び出す際の問題

分類Dev

reactjsのメソッドにパラメーターを渡す際の問題に直面している

分類Dev

ifステートメントを使用して要素にクラスを追加する際の問題

分類Dev

Flask-SQLAlchemy backref関数とbackrefパラメーター

分類Dev

JQuery を使用してコントロールにアクセスする際の問題

分類Dev

Fodyを使用してジェネリック基本クラスのフィールドにアクセスする際の問題

分類Dev

CGAL:周期的三角測量でエッジイテレータを使用してすべての頂点の近傍にアクセスする際の問題

分類Dev

依存関係プロパティを使用してValidationRulesをパラメータ化する際の問題

分類Dev

ルート属性を使用してパラメータを取得する際の問題

分類Dev

AJAXを介してWebサービスにアクセスする際のヘッダーの問題

分類Dev

配列をパラメーターとして使用すると、どの演算子にも重大なパフォーマンスの問題があります

分類Dev

Pythonを使用してUDPクライアントサーバーでメッセージを印刷する際のエンコーディングの問題

分類Dev

CRUDL-ID以外のパラメーターを使用してRORアイテムにアクセスする

Related 関連記事

  1. 1

    コンストラクターへのパラメーターとしてclobを使用する際の問題

  2. 2

    Gradleを介してJavaクラスを実行するときにシステムプロパティとパラメーターを渡す際の問題

  3. 3

    pg8000を使用して、SQLスクリプトで位置パラメータを使用する際の問題

  4. 4

    Pythonのジェネレーター関数を使用して出力にアクセスする際の問題

  5. 5

    データベース文字列を使用してファイルにアクセスする際の問題

  6. 6

    FlaskとSQLAlchemyを使用して既存のMySQLデータベースにアクセスしようとしたときに「NoSuchTable」エラーを受信する

  7. 7

    Redshiftの「PREPARE」にパラメータとして列名を渡す際の問題

  8. 8

    SQLAlchemyでは、 `relationship`内の` backref`パラメータに変数を割り当てることができますか?

  9. 9

    Linux CLのパラメーターとして拡張ASCII文字を使用する際の問題

  10. 10

    リモートYarnクラスターでsparkを使用してS3からファイルにアクセスする際の問題

  11. 11

    クラスの静的メンバーにアクセスする際の問題

  12. 12

    公開鍵を使用してリモートサーバーにアクセスする際の問題

  13. 13

    ggplotとggmapを使用してラスターイメージをプロットする際の問題

  14. 14

    配列をパラメーターとして渡す際の問題

  15. 15

    閉じる前にクライアントとしてQLocalServerにデータを送信する際の問題

  16. 16

    sqlAlchemyを使用してデータベースでSQLクエリを実行する際の問題

  17. 17

    命令をパラメーターとして使用してPowerShellを呼び出す際の問題

  18. 18

    reactjsのメソッドにパラメーターを渡す際の問題に直面している

  19. 19

    ifステートメントを使用して要素にクラスを追加する際の問題

  20. 20

    Flask-SQLAlchemy backref関数とbackrefパラメーター

  21. 21

    JQuery を使用してコントロールにアクセスする際の問題

  22. 22

    Fodyを使用してジェネリック基本クラスのフィールドにアクセスする際の問題

  23. 23

    CGAL:周期的三角測量でエッジイテレータを使用してすべての頂点の近傍にアクセスする際の問題

  24. 24

    依存関係プロパティを使用してValidationRulesをパラメータ化する際の問題

  25. 25

    ルート属性を使用してパラメータを取得する際の問題

  26. 26

    AJAXを介してWebサービスにアクセスする際のヘッダーの問題

  27. 27

    配列をパラメーターとして使用すると、どの演算子にも重大なパフォーマンスの問題があります

  28. 28

    Pythonを使用してUDPクライアントサーバーでメッセージを印刷する際のエンコーディングの問題

  29. 29

    CRUDL-ID以外のパラメーターを使用してRORアイテムにアクセスする

ホットタグ

アーカイブ