Ich habe eine Frage zu einem neuen Projekt, das ich erstelle. Um es einfach auszudrücken, die Website verfügt über Benutzerkonten, und jeder Benutzer hat die Möglichkeit, einen einfachen Absatz zu erstellen. Das Formular funktioniert einwandfrei, aber ich kann nicht scheinen, die Benutzer-ID dem gespeicherten Formular zuzuweisen.Modellform mit Benutzer-ID speichern?
model.py
class UserProfile(models.Model):
user = models.OneToOneField(User)
class Thoughts(models.Model):
user = models.ForeignKey(UserProfile, null=True)
title = models.CharField(max_length=150, default='')
description = models.CharField(max_length=5000, default='')
forms.py
class ThoughtForm(ModelForm):
class Meta:
model = Thoughts
fields = ['title', 'description']
views.py
@login_required(login_url='sign_in')
def add_thought(request):
context = {}
populateContext(request, context)
user_details = UserProfile.objects.get(user=request.user)
context.update(user_details=user_details)
if request.method == 'POST':
new_thought_form = ThoughtForm(request.POST)
if new_thought_form.is_valid():
new_thought_form.save()
return HttpResponse('Hurray, saved!')
else:
new_thought_form = ThoughtForm()
c = {'new_thought_form': new_thought_form,}
c.update(csrf(request))
return render_to_response('lala/add_new_thought.html', c)
Immer, wenn ich "instance = user_details.id" Versuchen Sie, heißt es, dass die Das Objekt 'int' hat kein Attribut '_meta'. Irgendwelche Gedanken?
Works! Vielen Dank Flowfree! – Bob