python - Django에서 데이터베이스 운영에 문제가 발생하여 업데이트된 데이터를 쿼리할 수 없습니다.
PHP中文网
PHP中文网 2017-06-30 09:55:15
0
2
904

question_text의 속성을 변경하고 저장했습니다


그런 다음 __str__() 메서드를 추가하고 모든 질문을 다시 쿼리합니다.

위 코드는
http://www.yiibai.com/django/...에 따라 구현되었습니다. 방금 배웠고, 단계는 이 튜토리얼과 동일합니다. 즉, __str__() 메서드를 추가한 후입니다. , 튜토리얼의 올바른 표시는 아래와 같습니다:

직접 테스트해보고 명령어를 입력했는데 변경 후 기록이 보이지 않네요. 예를 들어
q.question_text = "What's up?"
q.save()

을 변경했습니다.

변경 사항을 저장한 후 다음 명령을 실행합니다.
Question.objects.all()
결과는 아래와 같습니다.

이유는 무엇입니까 - Django1.9, 데이터베이스는 기본 sqlite3입니다

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(2)
巴扎黑

def __str__ 이것은 질문 모델의 클래스 메서드여야 합니다. 이 메서드는 쿼리할 때 return self.question_text를 정의하므로 개체를 쿼리할 때 개체의 질문_text 속성을 반환합니다. 형식이 잘못되었습니다. 이 메서드를 클래스 외부에서 정의하면 단일 함수가 되며 쿼리할 때 기본적으로 질문 개체가 반환됩니다.

typecho

tianren124님의 답변 덕분에 문제가 해결되었습니다.
먼저 models.py를 수정해야 합니다:
models.py

으아악

위의 model.py 코드를 변경한 후 저장하고 cmd를 열고 다시 입력하세요

으아악

동시에 입장

으아악

이전 질문의 결과와 달리 Question.objects.all()을 입력하면 실행 결과는 q.question_tex "What's up?"을 변경한 후의 값임을 알 수 있습니다.
해결 방법:
1. 모델을 수정합니다. py

으아악

에 배치되어야 합니다. 으아악 으아악

넣어도

으아악

내 앞에서는 왜 그런지 잘 모르겠습니다.
2. 들여쓰기에 주의하세요:

표현이 명확하지 않을 수 있으니 정정해주세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿