django: CourseNote() got an unexpected keyword argument 'user'

Viewed 69

I'm writing a function to save notes to the database from a form but it keeps throwing this error CourseNote() got an unexpected keyword argument 'user' and I don't seem to know where this error is coming from.

views.py:

def CourseNote(request, course_slug):
    course = Course.objects.get(slug=course_slug)
    user = request.user 

    if request.method == "POST":
        course = Course.objects.get(slug=course_slug)
        user = request.user 
        note_title = request.POST.get('note_title')
        note_content = request.POST.get('note_content')
        # CourseNote.objects.create(user=user, course=course, note_title=note_title, note_content=note_content)
        new_note = CourseNote(user=user, course=course, note_title=note_title, note_content=note_content)
        new_note.save()
        response = 'Saved'
        return HttpResponse(response)

urls.py:

path('<slug:course_slug>/save-note', views.CourseNote, name="save-note"),

models.py:

class CourseNote(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="note_user")
    course = models.ForeignKey(Course, on_delete=models.SET_NULL, null=True)
    note_title = models.CharField(max_length=200, blank=True, null=True)
    note_content = models.TextField(blank=True, null=True)
    date = models.DateTimeField(auto_now_add=True)
1 Answers

@sunderam-dubey It is not good practice to name same your view and model, kindly change it

Related