![]() |
|
RelatedObjectDoesNotExist at /review/add/1/ - Printable Version +- Sinisterly (https://sinister.li) +-- Forum: Coding (https://sinister.li/Forum-Coding) +--- Forum: Python (https://sinister.li/Forum-Python) +--- Thread: RelatedObjectDoesNotExist at /review/add/1/ (/Thread-RelatedObjectDoesNotExist-at-review-add-1) |
RelatedObjectDoesNotExist at /review/add/1/ - NaB3nzo - 08-21-2016 Hi! I have a review app where a user gets to review a restaurant. I have created a form for review and views but I am getting an error submitting the form to review a restaurant. I get a RelatedObjectDoesNotExist at /review/add/1/ with an exception of review has no restaurant. Following is my model for review: Code: class Review(models.Model):
user = models.ForeignKey(User)
restaurant = models.ForeignKey(Restaurant)
review = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)forms.py Code: class ReviewForm(ModelForm):
class Meta:
model = Review
fields = ['review']
widget = {
'review':Textarea(attrs={'cols':40, 'rows':10})
} views.py Code: def add_review(request, review_id):
restaurant = get_object_or_404(Restaurant, pk=review_id)
print('restaurant from review form',restaurant)
if request.method == 'POST':
form = ReviewForm(request.POST)
if form.is_valid():
review = form.cleaned_data['review']
review = form.save(commit=False)
Review.objects.create(user=request.user,restaurant=restaurant,review=review)
return redirect('/restaurants/')
else:
form = ReviewForm()
return render(request, 'review/review_form.html', {'form':form})Any ideas? I'm clueless... Thanks! RE: RelatedObjectDoesNotExist at /review/add/1/ - Bish0pQ - 08-21-2016 I'm not sure, because pyhton isn't my usual programming language, but I think that you need to set up a relation with the object. It can't find it because they aren't connected yet. Don't take my word for it, I'm not sure. |