2010-05-17 18 views
11

Modelformset_factory'de özelleştirilmiş bir form kullanabilmek istiyorum. Örneğin:Modelformset fabrikasında özel bir form mu kullanıyorsunuz?

models.py

class Author(models.Model): 
    name = models.CharField() 
    address = models.CharField() 

class AuthorForm(ModelForm): 
    class Meta: 
     model = Author 

views.py

def test_render(request): 
    myModelFormset = modelformset_factory(Author) 
    items = Author.objects.all() 
    formsetInstance = myModelFormset(queryset = items) 
    return render_to_response('template',locals()) 

Yukarıdaki kod gayet güzel çalışıyor, ancak ben AuthorForm kullanarak DEĞİL ediyorum not edin. Sorusu, varsayılan bir Yazar formunu yapmak yerine, model formunu nasıl edinebileceğimi (daha sonra özelleştirmeyi planladığım) AuthorForm'u nasıl kullanabilirim?

cevap

20

seni o kadar gibi özel modeli formunu geçmek mümkün olması gerektiğini düşünüyorum:

myModelFormset = modelformset_factory(Author, form=AuthorForm) 
+1

teşekkür ederiz. Soruyu gönderdikten kısa bir süre sonra kaynağa bakarak bunu buldum. Belgedeki bu seçenek karşısında şaşırmadığıma şaşırdım. Bunun bir seçenek olduğunu gösteren herhangi bir belgenin bağlantısı var mı? – jamida

+0

Belgelere en yakın olanı düşünürken, bir ModelFormset modelini bilen bir Formset'in "sadece" olduğunu ve modelformset_factory'deki formset_factory dosyasındaki argümanları kullanabileceğinizi söylemekteyim. Formset_factory için dokümantasyon, form sınıfını belirtebileceğiniz anlamına gelir. Modelformset_factory'den inlineformset_factory'ye benzer bir benzerlik var gibi görünüyor. – jcdyer

+0

Burada django dokümanlarında bir bağlantı var https://docs.djangoproject.com/en/1.5/ref/forms/models/ – maazza

İlgili konular