「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 高速 HTML - ** サーバー エラー NotFoundError: k** が必要です

高速 HTML - ** サーバー エラー NotFoundError: k** が必要です

2024 年 11 月 9 日に公開
ブラウズ:477

Fast HTML - ** Server Error NotFoundError: Need k**

高速 HTML - 500 サーバー エラー NotFoundError: 2 パックが必要です

高速 HTML を使用して、複数の主キーを持つテーブルから行を取得しようとしてこの問題に遭遇した場合に備えて、2 つの PK が必要か、2 つの主キーが必要かのバリエーションを取得します。

質問

500 サーバー エラー NotFoundError: 2 パック必要です

私のスキーマは次のように定義されています:

users.create(dict(username=str, pwd=str, role=str), pk='username',transform=True)
imgs.create(id=int, username=str, mime=str, b64=str, created_at=str, score=int, pk=('id', 'username'),transform=True)
...
imgs = imgs() # This Is where I'm trying to return the list of images.

答え

明確に言うと、問題は、テーブルが 2 つの主キーを予期していることです。

ミニ データ API 仕様に従って、次のように実行できます: imgs[['1', "admin"]。ただし、これは 1 つの画像を返します。

特定のユーザーのすべての画像を取得したいとします:

users.username = "admin"
imgs = imgs.rows_where("username = ?", [users.username]), None))

「ユーザー名が 'admin' である行をすべて教えてください (見つからない場合は、なしを教えてください)」

または、特定の ID に一致する最初の画像を取得してみてはどうでしょうか:

id = 0
img = next(imgs.rows_where("id = ?", [id]), None)

「ID が 0 の最初の行を教えてください (見つからない場合は None を教えてください)」


ここで、imgs のタイプは です。そして next は最初の項目を返します。 2 番目の引数はデフォルトです。

概要とその他の詳細

これを行うための、より慣用的な高速 HTML 方法があるかもしれません。しかし、表現がうまく読めるのは気に入っています。

そして

の型は 型のサブクラスであることに注意してください。そのため、ここでドキュメントを確認できます https://sqlite-utils.datasette.io/en/stable/python-api.html#listing-rows

リリースステートメント この記事は次の場所に転載されています: https://dev.to/onepunman/fast-html-500-server-error-notfounderror-need-2-pk-362l?1 侵害がある場合は、[email protected] までご連絡ください。それを削除するには
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3