나는 장고 사용자 모델을 확장하려고 노력해 왔으며, 실제로 작동하도록 만들 수 있다고 확신하지만 실제로 이해하고 싶은 코드 라인이 있습니다. 이 세트를Django의 사용자 모델을 확장 할 때 속성()의 람다 함수를 전달하면 어떻게됩니까?
User.profile = property(lambda u: u.get_profile())
을 만약 내가 제대로 이해 :
나는 다음 튜토리얼 참조되었습니다 http://blog.tivix.com/2012/01/06/extending-user-model-in-django/
을하지만, 다음의 코드가 어떻게 작동하는지 나는 내 인생은 이해할 수없는 위해 User.profile에 대한 getter 메서드는 사용자를 인수로 사용하고 myuser.profile을 참조하는 경우 해당 프로파일을 반환하는 익명의 함수에 인수가 실제로 전달되는지 여부를 나타냅니다.
나는 자신을 올바르게 전달하기를 바랍니다. 이것을 이해하는 데 큰 도움이 될 것입니다!
class UserProfile(models.Model):
user = models.OneToOneField(User)
@property
def profile(self):
return self.get_profile()
def __str__(self):
return "%s's profile" % self.user
파이썬 개체의 모든 인스턴스 메소드의 첫 번째 인수는의 인스턴스입니다 :