I am using inline formsets.
My model:
class Author(models.Model):
description = models.CharField(max_length=100)
class Book(models.Model):
author = models.ForeignKey(Author)
details = models.CharField(max_length=100)
class AuthorForm(ModelForm):
class Meta:
widgets = {
'description': Textarea(attrs={'cols': 40, 'rows': 4}),
}
In my views.py I made the form from the AuthorForm like so
form = AuthorForm(request.POST)
But I also made a formset for the Books
InlineFormSet = inlineformset_factory(Author, Books)
I cannot pass in a BooksForm with widgets, so how do I add a textarea widget to the book details.
Is it even possible? Am I missing something obvious?
Try:
class BookForm(ModelForm):
class Meta:
model = Book
widgets = {
'details': Textarea(attrs={'cols': 40, 'rows': 4}),
}
InlineFormSet = inlineformset_factory(Author, Book, form=BookForm)
This is great. Specifically for widgets, as of Django 1.6 there is a widgets parameter for inlineformset_factory
Sounds like you can now call
inlineformset_factory(Author, Book, widgets={'details': Textarea(attrs={'cols': 40}))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With