양식과 함께 도움을 받으십시오. 먼저 양식 필드에로드되어 데이터베이스의 데이터를 표시합니다.초기 데이터 양식 작성 방법은 무엇입니까?
모델 :
class Status(models.Model):
status = models.CharField(max_length=40, blank=False,)
@classmethod
def get_status_list(self):
status_list = list()
status_list.append(('', 'no selected'))
for values_ins in Status.objects.all().values_list('id', 'status'):
status_list.append(values_ins)
return status_list
class UserProfile(User):
name1 = models.CharField('Имя', max_length=30, blank=True, null=True, )
name2 = models.CharField('Отчество', max_length=30, blank=True, null=True, )
status = models.ForeignKey(Status, verbose_name='Статус', blank=True, null=True, )
양식 :
class PersonalDataForm(forms.ModelForm):
status = forms.ChoiceField(widget=forms.Select, choices=Status.get_status_list(),label='Статус',required=False,)
class Meta:
model = UserProfile
fields = ('name1', 'name2',)
전망 :
@login_required
def personal_data_page(request):
entry_user_profile = UserProfile.objects.get(user_ptr_id=request.user.id)
form = PersonalDataForm(instance=entry_user_profile)
if request.method == 'POST':
form = PersonalDataForm(request.POST, instance=entry_user_profile)
if form.is_valid():
form.save()
entry_user_profile.save()
return HttpResponseRedirect('/userprofile/personal_data_page_changed/')
t = loader.get_template('personal_data_page.html')
c = RequestContext(request, {'form': form,})
return HttpResponse(t.render(c))
템플릿 :
{{ form.name1 }}
{{ form.name2 }}
{{ form.status }}
문제는 양식이 처음로드되면 사용자가 "name1", "name2"필드의 데이터베이스에서 데이터를 볼 수 있다는 것입니다. "상태"의 데이터베이스에서 데이터를 보지 못합니다 ("선택하지 않음"이라는 점을 보여 주지만 UserProfile.status_id 테이블의 값에 해당하는 항목을 표시해야 함)
처음 시작할 때 필요합니다 "상태"에서 특정 값을 나타내는 양식을로드하십시오. 도와주세요
감사 그래서 두 줄을 다음과 같습니다. 하지만 entry_user_profile = form.save()는 값을 저장하지 않습니다 ( – user3607370