2009-05-13 1 views
18

..장고 관리 사이트 CREATED_BY이 (가) 작성한 필드를 자동-채우기 내가 아주 간단한 웹 응용 프로그램에 대해 장고 관리 인터페이스를 사용하고 싶지만 내가 열심히 해결하는 것일 안되는 문제를 해결받을 수 없습니다

가 고려 다음

class Contact(models.Model): 
    name = models.CharField(max_length=250, blank=False) 
    created_by = models.ForeignKey(User, blank=False) 

나는 CREATED_BY이 (가) 작성한 필드를 자동으로 채울 그것의 장고 관리자가 인식 할 수있는 방법을 찾을 수 없습니다. 필자가 보았던 대부분의 메서드는 Object의 save 메서드를 오버로드하여 요청 사용자에게 전달합니다. 모두 사용자 정의보기 및/또는 양식을 작성해야합니다.

최적의 형태는 (아주 쉽게 임) CREATED_BY이 (가) 작성한 필드를 보여주지해야 관리자 사이트에 새 연락처를 를 생성하고 (이해야보다 더 어려워 보인다) 현재 사용자와 함께 자동-웁니다.

답변

23

http://code.djangoproject.com/wiki/CookBookNewformsAdminAndUser

은 ModelAdmin 객체의 메소드 저장 구현이 포함됩니다.

+0

정확히 내가 검색 한 내용입니다. 감사합니다. –

+1

이것은 매우 도움이되었고 문서 페이지로 연결되었습니다.이 페이지는 장고 버전을 선택할 수 있기 때문에 더 좋습니다! 예 : 버전 1.6 : https://docs.djangoproject.com/ko/1.6/ref/contrib/admin/ – sage

4

필드에 default을 지정해야합니다.이 경우 현재 사용자를 가져 오는 메소드 호출입니다 (현재 사용자를 얻으려면 auth 문서 참조).

1

다른 곳에서 찾은 것보다 더 나은 솔루션을 원했기 때문에 Populate user Id question에 구현 된 일부 미들웨어를 작성했습니다. 내 솔루션은 양식이나보기를 변경할 필요가 없습니다.

관련 문제