python - 如何理解django类里的方法
PHP中文网
PHP中文网 2017-04-17 17:45:32
0
2
210
class AccountAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        obj.security = get_random_code(10)
        obj.password = get_password(obj.password, obj.security)
        obj.save()
        Token.objects.create(user=obj)

admin.site.register(Account, AccountAdmin)

save_model()方法里这么多参数用来干什么,还是默认的?
看了下调用,根本就没有传入这么多值嘛。

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(2)
刘奇

방금 save_model이 호출되는 소스 코드를 검색했는데 모두 다음 매개변수를 포함하고 있습니다.
예를 들어 예제 1과 예제 2

刘奇

모델을 저장할 때 호출되는 메소드인데, 이 디자인의 목적은 무엇인가요?

답은 다음과 같습니다. 저장 전이나 후에 일부 작업을 쉽게 수행할 수 있습니다. 예를 들어 게시한 코드에서 저장 시 보안을 설정하고
저장 비즈니스를 만듭니다. 논리는 매우 간단합니다. 구현하기 쉽습니다.
obj는 저장된 객체이고, form은 ModelForm 인스턴스이며,change는 obj가 변경되었는지 여부를 나타내는 bool 값입니다. 변경 사항이 없으면 save 메소드가 호출되지 않을 수 있습니다.

이 기능의 디자인은 상당히 합리적이고 편리하다고 말씀드리고 싶습니다.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿