Ma question est très similaire à cette question: Django: Populate user ID when saving a modelDjango: Enregistrer ID utilisateur avec le modèle Enregistrer
Malheureusement, je ne comprends pas tout à fait leur réponse.
Lorsqu'un utilisateur se connecte, je souhaite qu'il soit en mesure de soumettre un lien et que j'ai une clé étrangère user_id que je n'arrive pas à remplir.
def submit(request):
if request.method == 'POST':
form = AddLink(request.POST)
if form.is_valid():
form.save()
return redirect('home')
else:
form = AddLink()
return render_to_response('links/submit.html', {'form': form})
Everytime Je soumets ma forme, il mentionne:
null value in column "user_id" violates not-null constraint
Ce que je comprends, mais ce que je ne sais pas comment ajouter user_id à mon objet formulaire. Comment puis-je accéder à l'identifiant de l'utilisateur actuellement connecté et le soumettre avec mes données de formulaire?
j'ai vu que ... Est-ce la meilleure façon de le faire? Quelque chose comme ça semble vraiment commun et je pense que leur aurait été quelque chose d'automatique. – TheLizardKing
N'oubliez pas de vérifier si l'utilisateur s'est connecté à votre vue. Le décorateur
@login_required
est assez sympa pour cela :-) – KletteEh bien, vous pouvez insérer le user_id dans un champ caché dans le formulaire, mais c'est comme cela normalement fait. – Klette