Reputation: 3
I am working on a RSVP project based on Django. When I want to make a Event model and connect it with every user. It always has this error! Event just has two fields: user
and name
.
views.py
:
def create_event(request):
if request.method=='POST':
form = CreateEventForm(data=request.POST)
if form.is_valid():
form.save()
return redirect('http://vcm-2971.vm.duke.edu:8080/rsvp/profile')
else:
form= CreateEventForm()
args= {'form':form}
return render(request, 'rsvp/create_event.html',args)
else:
form= CreateEventForm()
args= {'form':form}
return render(request, 'rsvp/create_event.html',args)
models.py
:
class Event(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
name = models.CharField(max_length=100,default='')
forms.py
:
class CreateEventForm(ModelForm):
#name = forms.CharField(max_length=100,required = True)
class Meta:
model = Event
fields=(
'name',
)
Upvotes: 0
Views: 1007
Reputation: 27533
def create_event(request):
if request.method=='POST':
form = CreateEventForm(data=request.POST)
if form.is_valid():
form = form.save(commit=False)
form.user = request.user
form.save()
return redirect('http://vcm-2971.vm.duke.edu:8080/rsvp/profile')
else:
form= CreateEventForm()
args= {'form':form}
return render(request, 'rsvp/create_event.html',args)
else:
form= CreateEventForm()
args= {'form':form}
return render(request, 'rsvp/create_event.html',args)
you need to be logged in to use this form or you need to pass a custom User instance
to the user field of the Model
Upvotes: 1