J'essaie de créer un nouveau sujet et l'identifiant de la catégorie est déterminé dynamiquement en javascript du côté client. Le problème que j'ai est que je passe l'identifiant de la catégorie et que je veux rechercher l'objet catégorie correct, mais en utilisant un formulaire modèle, il vérifie si la catégorie est une instance de Catégorie avant de pouvoir l'assigner et l'enregistrer.Django ModelForms: Essayer d'enregistrer un formulaire en utilisant une clé étrangère ID
--model.py--
class Topic(models.Model):
category = models.ForeignKey(Category)
--form.py--
class TopicForm(ModelForm):
category = forms.IntegerField(widget=forms.HiddenInput())
class Meta:
model = Topic
fields = ('category')
--view.py--
form = TopicForm(request.POST)
if form.is_valid():
form.save(commit=False) # throws exception category is not a Category instance
form.category = Category.objects.get(pk=form.cleaned_data.get('category'))
form.save()
Merci! Je ne comprends pas tout ce que django fait encore dans les coulisses, mais c'est logique. – Komma