Jinja2 テンプレート エンジンを使用した次のクライアント側フロントエンド HTML があります。
{% for record in result %}
<textarea name="remark">{{ record.remark }}</textarea>
<input type="submit" name="approve" value="Approve" />
{% endfor %}
したがって、HTML には複数のテキストエリアと送信ボタンのセットが表示される場合があります。
バックエンドの Python コードは、モデルを使用して gql クエリから可変数のレコードを取得し、結果としてこれを Jinja2 テンプレートに渡します。送信ボタンがクリックされると、post メソッドがトリガーされてレコードが更新されます。
def post(self):
if self.request.get('approve'):
updated_remark = self.request.get('remark')
record.remark = db.Text(updated_remark)
record.put()
ただし、場合によっては、クリックされた送信ボタンに対応するレコードが更新されないことがあります (たとえば、ユーザーがレコード 1 の送信をクリックすると、レコード 2 のコメントは更新されますが、レコード 1 は更新されません)。
これは、重複した属性名の発言によるものだと思います。JavaScript/jQuery を使用して、さまざまな属性名を生成できる可能性があります。問題は、バックエンド Python をコーディングして、JavaScript によって生成された (可変数の) 名前を取得するにはどうすればよいかということです。
ありがとう。