2012-12-11 3 views
1

Models.py :해당 모델 양식 필드에서 모델 필드에 액세스 할 수 있습니까?

class ItemImage(Model): 
    image = ImageField(upload_to=get_user_upload_path) 

Forms.py :

class ItemImageForm(ModelForm): 
    class Meta: 
     model = ItemImage 

말해, 난 ItemImage 인스턴스 함께 ItemImageForm를 초기화하여 템플릿을 렌더링하기 위해 사용되는 컨텍스트에 img_form되는 형태로 추가 . 나는 해당 ItemImage 인스턴스에 img_form.instance으로 액세스 할 수 있음을 알고 있습니다. 그러나 해당 img_form.image에서 ItemImage.image에 액세스하는 더 직접적인 방법이 있다면 궁금합니다.

+0

왜 그렇게하고 싶습니까? 뷰에는 이미 인스턴스가 있으므로 해당 객체를 사전의 다른 값으로 전달하십시오. – karthikr

답변

2

전혀 액세스하지 말아야합니다. 양식은 초기 데이터와 정리 된 데이터로 구성됩니다. 초기 데이터를 참조하려면 instance을 사용하십시오. 사용자 조치 후 가치가 필요한 경우 is_valid 또는 full_clean이라고 말한 후 cleaned_data 값을 찾습니다. 사이에있는 모든 것들이 해킹입니다.

img_form.image에서 특수 청소를 수행하려면 clean_image 방법을 만드십시오. 그러나 이미 알고있을 것입니다.

+0

네,하지만 내가 아는 생각을하는 것이 항상 낫습니다. 감사. – tamakisquare

관련 문제