Reputation: 4633
I am filling my form with initial data using the normail:
form = somethingForm(initial = {
'title' : something.title,
'category' : something.category_id,
})
The title works fine, but if the category is a ModelChoiceField and a ForeignKey in the model, the initial data won't work. Nothing will be selected in the Select Box. If I change category to an IntegerField in the model it works fine.
I still want to use a ForeignKey for category though, so how do I fix this?
Upvotes: 2
Views: 1349
Reputation: 11438
Perhaps try using an instance of a category rather than its ID?
Upvotes: 1
Reputation: 1266
You need to do this
form = somethingForm(initial = {
'title' : something.title,
'category' : [("database value","display value")],
})
Because choice fields are associated with select widget ( i.e html ===> ..............)
For each option we need to specify two things 1.internal value 2.display value (each tuple in the list specifies this)
Upvotes: 0