외부 필드 (장소)가 포함 된 양식이 있습니다. 사용자가 Autocomplete 텍스트 입력을 사용할 수있게하려는 경우이 필드를 ModelChoiceField 대신 CharField를 기반으로하는 사용자 지정 양식 필드 유형을 사용하도록 설정했습니다. 자동 완성 기능이 작동하고 외부 키가있는 모델의 인스턴스가 있으면 아무 문제가 없습니다. 그러나이 Place 인스턴스가 존재하지 않으면 사용자가 거리 주소, 도시, 주 및 우편 번호를 입력하고이를 사용하여 사용자 정의 필드 유형에 get_or_create를 사용하여 새 장소를 만들 수있게하려고합니다.Django에서 사용자 정의 양식 필드 유형의 양식 속성에 액세스
class PlaceAutoCompleteField(forms.CharField):
def clean(self, value):
super(PlaceAutoCompleteField, self).clean(value)
place, created = Place.objects.get_or_create(name=value,
defaults={'street': self.form.cleaned_data['street'],
'town': self.form.cleaned_data['city'],
'state': self.form.cleaned_data['state'],
'zipcode': self.form.cleaned_data['zipcode']})
return place
class EventForm(forms.ModelForm):
place = PlaceAutoCompleteField()
street = forms.CharField(max_length=50)
city = forms.CharField(max_length=40)
state = USStateField()
zipcode = USZipCodeField()
class Meta:
model = Event
fields = (.....)
다음과 같은 에러가 발생합니다 : 내 코드는 지금처럼 'PlaceAutoCompleteField'개체가 어떤 속성 '형태'
나는이 놀라지 않을거야이 없습니다,하지만 난 양식을 전달하는 방법을 확실 해요 내 사용자 정의 필드에 데이터. 어떤 아이디어?
양식 정리 방법으로 어떻게해야합니까? 그런 다음 오류가 발생합니다. "u'New Place '"를 할당 할 수 없습니다. ""Event.place "는"Place "인스턴스 여야합니다." – Brian