나는 Towns 모델과 관련이있는 광고에 대한 모델을 가지고 있습니다. 이 모델에는 일부 메타 데이터가있는 도시 목록이 포함되어 있습니다.Django 양식. 어떻게 양식에 문자열을 게시하고 개체 ID로 저장?
제 양식에 저는 마을에 아약스 자동 완성을 구현했습니다. 각 마을에는 name_unique 필드가 있으며이 데이터를 기반으로 자동 완성 기능이 입력 양식 작성에 도움이됩니다.
그러나 실제로 Town.name_unique이 아닌 Town.id와의 관계가 필요합니다.
장고 양식이 name_unique 값을 받아들이고 마을의 실제 'ID'로 저장하도록 어떻게 수행 할 수 있습니까?
어떻게 형식 문자열에 게시class Advert(models.Model):
class Meta:
verbose_name = u"Ogłoszenie"
verbose_name_plural = u"Ogłoszenia"
ordering = ['-date_added', ]
title = models.CharField(verbose_name="Tytuł ogłoszenia", max_length=32)
text = models.TextField(verbose_name="Treść ogłoszenia", max_length=3000)
location = models.ForeignKey("division.Towns", verbose_name="Miejscowość")
class AdvertForm(ModelForm):
category = CustomTreeNodeChoiceField(queryset=Category.objects.filter(parent__isnull=False),
empty_label="Wybierz kategorię", label="Kategoria")
class Meta:
model = Advert
exclude = ('ip', 'user', 'first_name', 'last_name')
widgets = {
'location': TextInput
}
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(AdvertForm, self).__init__(*args, **kwargs)
def add(request):
form = AdvertForm(request.POST or None, request=request)
if form.is_valid():
advert = form.save(commit=False)
advert.save()
return HttpResponseRedirect(reverse('adverts.views.detail', kwargs={'pk': advert.pk}))
return TemplateResponse(request, "adverts/add.html", {'form': form, })
다음은 (약간의 unittests가 부족하다는 이유로 테스트되지 않았습니다 : /) 코드 업데이트 : http://pastebin.com/LncqfQM2 – Daishy
감사합니다. :) – Efrin