2012-06-23 3 views
0

인라인 _ 형식을 추가했습니다. 하지만 {{ form.name }}이 템플릿에 표시되지 않습니다. 내가 놓친 게 있니? 템플릿인라인 _formset 누락 필드

<tr> 
     <td>{{ form.name }}</td> <-- its not showing 
     <td>{{ form.title }} </td> 
     <td>{{ form.artist }} </td> 
    </tr> 
{% endfor %} 

{{ formset.management_form }} 

UPDATE에 감사

class Album(models.Model): 
    name = models.CharField(('album name'), max_length=100) 
    owner = models.ForeignKey(User, verbose_name=('user'), related_name=('users')) 

class Song(models.Model): 
    album = models.ForeignKey(Album, verbose_name=('album'), related_name=('songs')) 
    title = models.CharField(('song name'), max_length=100) 
    artist = models.CharField(('artist name'), max_length=100) 

inline_formset

AlbumFormSet = inlineformset_factory(Album, Song) 

    {% for form in formset %} 
        <tr> 

         <td>{{ form.title }} </td> 
         <td>{{ form.artist }} </td> 
         <td>{{album_form.name}}</td> 
         <td>{{ form.errors }}</td> 
        </tr> 
       {% endfor %} 

내가 앨범에 대해 별도의 ModelForm를 추가 한 후 forloop 내에서 추가. NOw 반복되는 입력 태그 이름. <input id="id_name" type="text" name="name" maxlength="100">

나는 다음과 같은 데이터를 추가 한

최신 업데이트. 데이터가 저장됩니다. 그러나 이상한 문제가 있습니다. Last Album 만 저장하면 Test 1Test 2이 아닙니다. enter image description here

enter image description here

답변

1

inlineformset에는 앨범 모델의 양식이 포함되어 있지 않습니다. 앨범을위한 별도의 ModelForm을 만들고 나서 {{album_form.name}}과 같은 것을해야합니다.

당신은 당신이보기 -이 같은 뭔가 당신에게 앨범에 대한 외래 키와 formsets를 연결할 수 있습니다

# validation and other code 
# --------------------------- 
new_album = Album() 
new_album_form = AlbumModelForm(request.POST,instance=new_album) 
song_formset = AlbumFormset(request.POST) 
new_album_form.save() 
songs = song_formset.save(comit=False) 
for song in songs: 
    song.album = new_album 
    song.save() 

편집 :

당신이 하나의 앨범을 만들려면 위의 솔루션이 작동 그리고 그 앨범에 외래 키가있는 여러 노래. 원하는 것을 얻으려면 즉, {{form.name}}, {{form.title}}{{form.artist}}은 modelformset 대신 name, title 및 artist 필드와 함께 일반 formset을 사용하십시오.

+0

당신이 옳다고 생각합니다. 내가 별도의 ModelForm for Album을 만들면. 그렇다면 데이터를 어떻게 연관시킬 수 있습니까? 나는 '앨범'에 외래 키를 적용했기 때문에. 데이터를 저장하려면 어떻게해야합니까? – Kulbir

+0

ok 별도의 ModelForm for Album을 추가했습니다. 그런 다음'formset' forloop 내의'{{album_form.name}} '. 그러나 반복되는 입력 태그 이름은 '입니다. 이 문제를 어떻게 없앨 수 있습니까? – Kulbir

+0

ans에 샘플 snipest를 업데이트했습니다. 나는 그것이 효과가있을 것이라고 생각한다. – machaku

0

형태의 name 필드가 없다

enter image description here

enter image description here

. 노래의 형식이며 album, titleartist입니다.

+0

나는 또한 form.album을 시도했다. 운이 없다. – Kulbir

관련 문제