I 회원 필드 모델을 가지고있다. 새 팀을 만드는 동안 사용자가 양식에서 일부 회원을 선택하고 저장합니다. 사용자는 팀 양식을 편집하고 구성원 필드 (구성원 추가 또는 제거 가능)를 변경할 수도 있습니다. 멤버 필드에 저장된 이전 데이터와 비교하여 얼마나 많은 멤버를 추가하거나 삭제했는지 확인하고 싶었습니다. 다른 필드에도 똑같이 적용됩니다.Flask-WTF에서 양식 필드 변경 사항을 추적하는 방법은 무엇입니까? 나는이 모델을 사용하여 양식을 만들 플라스크-WTFforms을 사용하고</p> <pre><code>class Team(db.Model): --- some fields --- members = ListProperty(db.Key) # Using App Engine datastore as backend. </code></pre> <p>: 아래 그림과 같이
데프 edit_team (키) :
k = db.Key(key)
team = db.get(k)
form = TeamForm(obj = team)
if not form.is_submitted(): # Indicates GET request
session[str(g.user.user_id() + 'prev_members'] = form.members.data
if form.validate_on_submit():
form.populate_obj(project)
# I will use session data with new form.members.data to do further processing.
이이 시나리오를 처리 할 수있는 올바른 방법인가
나는 이것을 달성하기 위해 세션을 사용? 요청이GET
, 모델에서로드 할 한 개체의 데이터 인 경우 코드와
답변 해 주셔서 감사합니다. 내 방법은 당신과 같은 방식으로 작동합니다. validate_on_submit()이 False이면 GET 요청으로 간주되고 form = TeamForm (obj = team)을 사용하여 양식이 구성됩니다. validate_on_submit()이 True이면 POST 요청으로 간주됩니다. GET 요청에 양식 데이터를 저장하고 POST 요청으로 처리하려고합니다. 또한 나는 변화 한 것을 추적 할 수있다. validate_on_submit()에 대한 추가 정보 :이 메소드는 차례로 form.is_submitted() 및 form.validate()를 호출합니다. is_submitted() 메소드는 POST와 GET을 구별하는 메소드입니다. – rajpy