나는 다음과 같은 모델이 (클릭 필드 및 표시 필드) 동적 형성 만들려면 :장고 내 장고 프로젝트에서
models.py 제목에서 떨어져
class Paper(models.Model):
title = models.CharField(max_length=500)
description = models.CharField(max_length=1500)
chapter_1 = models.CharField(max_length=50, default='Intro')
chapter_1_status = models.CharField(max_length=3, choices=[('On','On'), ('Off','Off')], blank=True, null=True)
chapter_1_description = models.CharField(max_length=1500)
chapter_1_word_count = models.IntegerField()
chapter_1_reading_time = models.DurationField(blank=True, null=True)
chapter_2 = models.CharField(max_length=50, default='Hypothesis')
chapter_2_status = models.CharField(max_length=3, choices=[('On','On'), ('Off','Off')], blank=True, null=True)
chapter_2_description = models.CharField(max_length=1500)
chapter_2_word_count = models.IntegerField()
chapter_2_reading_time = models.DurationField(blank=True, null=True)
당신이 볼 수 있듯이, 그리고 설명 다른 모든 필드는 반복됩니다 (1 장, 2 장, 3 장, 9 장까지 할당 된 용지의 최대 값).
필드 상태를 사용하여 해당 장이 실제로 종이에 포함되는지 여부를 확인합니다. 다른 사람이 뽑으면 장에 장이 보이지 않습니다.
은 이제 더 진보 된 무언가로이 개념을 번역해야합니다 : 대신에이 모델에 대한 일반 장고 형태를 갖는, 나는 사용자가 볼 형태 싶은 :
- 제목
- 설명을
- 사용할 수있는 장 (소개, 가설 ...) 목록과 특정 장을 클릭하면 해당 장과 관련된 모든 필드가 포함됩니다. 선택한 또는 클릭하지 않는 모든 장은 상태가 꺼짐 인 것처럼 처리해야하므로 표시해서는 안됩니다.
는 지금, 내 forms.py은 다음과 같습니다
class PaperFormClass(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PaperFormClass, self).__init__(*args, **kwargs)
for field in iter(self.fields):
self.fields[field].widget.attrs.update({
'class': 'form-control form-control-lg'
})
class Meta:
model = Paper
fields = '__all__'
class PaperForm(forms.ModelForm):
class Meta:
model = Paper
fields = '__all__'
가 어떻게 대신 모델의 모든 필드를 표시하는 단지 제목, 설명 및 모든의 클릭 가능한 목록을 표시하는 양식을 달성 할 수 종이에 포함될 수있는 장? 하나의 챕터를 클릭하면 해당 챕터와 관련된 다른 필드가 나타나고 편집 가능해야합니다.
미리 제안 해 주셔서 감사합니다.
안녕 @itzMEonTV 감사 답변에 대한 많은으로 inline 쇼 확인 다른 모델을 만드는 건의 할 것입니다. 나는 링크 된 문서를 읽었으며 조금 혼란 스러웠다. (나는 장고에 대해 매우 익숙하다.) 내가 아는 한, 인라인 프로세스를 실제로 이해할 수 있도록 읽을 수있는 다른 예제가 있습니까? – Giulia