Iam really not shure. Will try to chane this.

El lunes, 12 de noviembre de 2012 13:56:08 UTC-6, Jill Green escribió:
>
> Doesn't the default need to be one of the choices?
>
> models.PositiveIntegerField(default=1, null=False, 
> choices=((1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5')))
>
>
> Sent from my iPhone
>
> On Nov 12, 2012, at 11:37 AM, Josue Balandrano 
> <xir...@gmail.com<javascript:>> 
> wrote:
>
> Hi, I am trying to create a very basic ratings and comments app. I have 
> this model:
>
> class Ratings(models.Model):
>     user = models.ForeignKey(UserProfile)
>     product = models.ForeignKey(Product)
>     rate = models.PositiveIntegerField(default=0, null=False, 
> choices=((1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5')))
>     comment = models.TextField(default='', blank=True)
>     date_added = models.DateField(default=datetime.now)
>     objects = RatingsManager()
>
>     def __unicode__(self):
>         return self.rating
>
>     class Meta:           
>         unique_together = ("user", "restaurant")  
>
> class RatingsManager(models.Manager):
>     def get_average(self, **kwargs):
>         prod = kwargs['prod']
>         return self.filter(product = prod).aggregate(Avg('rate'))
>
> And I have this modelform Class:
>
> class RatingsForm(forms.ModelForm):
>     comment = 
> forms.CharField(widget=forms.Textarea(attrs={'name':'comentario', 
> 'label':'', 'rows':'5', 'cols':'50'}))
>     class Meta:
>         model = Ratings
>         widgets = {
>             'user' : forms.HiddenInput(),
>             'product' : forms.HiddenInput(),
>             'rate' : forms.RadioSelect(),
>         }
>         exclude = ('date_added', )
>
> First, this is how I initiate the form and pass it to the context 
> variable. This form will only ve bisivle in a detail view of the product.
>
>     rating_form = RatingsForm(initial={'product':prod.id, 'user':
> self.request.user.id})
>     context['rating_form'] = rating_form
>
> And this is what I gets executed once the view recieves a post request. 
>
>         product_id = request.POST.get('product')
>         user_id = request.user.id
>         try:
>             instance = Ratings.objects.get(user = int(user_id), product = 
> int(product_id)) #IF USER SUBMITED RATING FOR THIS PRODUCT UPDATE EXISTING 
> RECORD INSTEAD OF CREATING A NEW ONE
>         except Ratings.DoesNotExist:
>             instance = None
>         if instance is None:
>             formset = RatingsForm(request.POST)
>             formset.restaurant = int(restaurant_id)
>             formset.user = int(user_id) 
>             if formset.is_valid():
>                 formset.save()
>
>         else:
>             formset = RatingsForm(request.POST, instance=instance)
>             if formset.is_valid():
>                 formset.save()
>
>         context.update({ 'rating_form':formset,})
>         return self.render_to_response(context)
>
> So when ever I submit the form I get this error:
>
>
>    - Select a valid choice. That choice is not one of the available 
>    choices.
>
> But I can't figure out what does it means? Because the only choice field I 
> have is the "rate" field and it could never be anything else than an int 
> between 1 - 5.
>
> Any ideas how to fix this?
>
> Thank you.
>
>  -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/django-users/-/u6heU1dlyDsJ.
> To post to this group, send email to django...@googlegroups.com<javascript:>
> .
> To unsubscribe from this group, send email to 
> django-users...@googlegroups.com <javascript:>.
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/nrjwEGQ46ioJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to