2014-01-20 6 views
-1

아래 모델로 관리자 페이지를 작성한다고 가정하십시오.Django - 이전 데이터를 덮어 쓰지 않고 관리 내용을 편집하십시오.

class Person(models.Model): 
    name = models.CharField() 
    about = models.TextField() 

이제 'about'입력란에 내용을 저장했습니다.

"나는 프로그래머입니다."

위의 데이터를 덮어 쓰지 않고 추가 데이터를 추가하고 싶습니다.

"저는 프로그래머입니다. 코딩하고 싶습니다."

실용적인 데이터 추가. 그러나 이전 데이터를 덮어 쓰고 새로운 데이터를 씁니다. 그래서 나는이 일을 현장에서 끝내게됩니다.

"코드하는 것이 좋습니다."

+1

"프로그래밍 방식으로 데이터를 어떻게 추가하고 있습니까? –

+0

모델을 정의하는 것만으로 관리자 페이지가 생성되지는 않습니다. 모델을 별도로 'admin.py'에 등록해야합니다. 자세한 내용은 https://docs.djangoproject.com/en/dev/ref/contrib/admin/에서 확인하십시오. – Anentropic

+2

데이터를 추가하려는 코드를 표시해야합니다. 잘못된 작업을 볼 수 있습니다. – Anentropic

답변

0

데이터를 추가하는 방법을 설명해야합니다. 일반적으로 Model 선언에서 save def를 사용하여 Django 모델에 데이터를 쉽게 자동으로 추가 할 수 있습니다. 자세한 내용은 여기를 참조하십시오. https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods

+0

John, 정확히 내가하고있는 일입니다. save def를 사용하여 저장하기 전에 내용을 수정하려고합니다. 하지만 for 루프를 수행하면 두 번째 데이터가 첫 번째 데이터를 대체합니다. 예 : for i [ 'a', 'b'] : self.number = i 첫 번째로 a를 저장하지만 두 번째로는 b로 바뀝니다. 그러나 b를 삽입하고 싶기 때문에 이전의 내용을 덮어 쓰면서 a 값과 b 값을 모두 유지할 수 있습니다. – user3216693

+0

나는 이것을하는 방법을 발견했다. 모델 내에서 루프를 반복해서는 안됩니다. json 인코딩으로 목록을 저장하십시오. 그런 다음 목록을 다시 검색하고 json을 디코딩 한 다음 템플릿에서 반복합니다. 이것은 내가 예상 한 결과를 준다. Yuval 및 Anentropic, 나는 내 질문에 명확하지 않았 음을 유감스럽게 생각합니다. 이 모든 것에 귀하의 도움을 주셔서 감사합니다. – user3216693

관련 문제