업데이트 문제가 해결되어 모든 코드가 작동합니다.두 모델의 한 형식
안녕하세요!
TextPage와 Paragraph 사이에 ForeignKey 관계가 있습니다. 내 목표는 FrontPage TextPage가 ModelAdmin에 'inlines'인 것처럼 양식을 만들고 편집하는 것입니다. TextPage의 몇 가지 필드와 몇 개의 Paragraph 인스턴스 스택 인라인.
@login_required
def textpage_add(request):
profile = request.user.profile_set.all()[0]
if not (profile.is_admin() or profile.is_editor()):
raise Http404
PageFormSet = inlineformset_factory(TextPage, Paragraph, fields=('title', 'text',), extra=5)
textpage = TextPage()
if request.POST:
textpageform = TextPageForm(request.POST, instance=textpage, prefix='page')
formset = PageFormSet(request.POST, instance=textpage, prefix='paragraphs')
# Saving data
if textpageform.is_valid():
textpageform.save()
if formset.is_valid():
formset.save()
return HttpResponseRedirect(reverse(consult_categories))
else:
textpageform = TextPageForm(instance=textpage, prefix='page')
formset = PageFormSet(instance=textpage, prefix='paragraphs')
return render_to_response('textpages/manage.html', { 'formset' : formset,
'textpageform' : textpageform,
}, context_instance=RequestContext(request))
내가 당신도 일을 기대하지 않는 코드를 게시하는 코드 원숭이 스타일의 종류 알고 있지만, 내가 보여주고 싶었 : 문제는 내가 확인하고 있음을 저장하는 방법에 대한 아무 생각이 없다는 것입니다 내가 성취하려고하는 것. 다음은 models.py의 관련 부분입니다.
class TextPage(models.Model):
title = models.CharField(max_length=100)
page_sub_category = models.ForeignKey(PageSubCategory, blank=True, null=True)
def __unicode__(self):
return self.title
class Paragraph(models.Model):
article = models.ForeignKey(TextPage)
title = models.CharField(max_length=100, blank=True, null=True)
text = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.title
아무 도움이됩니다. 감사!
업데이트. 인스턴스 참조가 추가되었지만 여전히 작동하지 않습니다.이 문자열에 대해 ValidationError가 발생합니다.
formset = PageFormSet(request.POST, instance=textpage, prefix='paragraphs')
아이디어가 있으십니까?
,하지만 나는 좋은 대답을 생각하지 않습니다. 어떤 대답을 얻지도 않고 어떻게 든 이해하지 못한다면 대답을 게시해도 될까요? 물론 –
입니다. :) – martinthenext