
igsm '
10,440 PointsChallenge Task 2?
Can't figure it out for the second objective. I used my minimalistic understanding of the material. I feel lost, completely. Please help me out.
class Create(LoginRequiredMixin, generic.CreateView):
fields = ("name", "description", "discount", "price")
model = models.Product
def form_valid(self, form):
if not self.request.user.has_perm():
self.model.discount = 0
form.save()
return super().form_valid(form)
1 Answer

Chris Freeman
Treehouse Moderator 58,893 PointsThere are a few items need fixing:
Before the if statement, define the self.object:
self.object = form.save(commit=False) # <-- create self.object to modify
has_perm
requires a permission argument to check. Use 'products.can_give_discount
' (include quotes)
After
if
statement, save self.object.save()
not form.save()
In
super()
specify the class: super(Create, self).form_valid(form)
Post back if you need more help. Good luck!!