찾다

 >  Q&A  >  본문

python - Django에서 데이터베이스 운영에 문제가 발생하여 업데이트된 데이터를 쿼리할 수 없습니다.

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中文网2711일 전888

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-06-30 09:57:15

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

    회신하다
    0
  • typecho

    typecho2017-06-30 09:57:15

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

    으아악

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

    으아악

    동시에 입장

    으아악

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

    으아악

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

    넣어도

    으아악

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

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

    회신하다
    0
  • 취소회신하다