Tim,
Here is my Price class
class Price(models.Model):
name = models.DecimalField(max_digits=6, decimal_places=2)
price_cat = models.ForeignKey(PriceCategory)
def __str__(self,):
return str(self.name)
class Admin:
pass
//////////////
I guess my 'return str(self.name)' is why my order_by is not working
correctly. I changed my code to
def __str__(self,):
return self.name
However, now I get the following error when I try to access the my
page that shows all the choice combinations
'TypeError: coercing to Unicode: need string or buffer, float found'
//////////
Any Suggestions?
Thanks
On Sep 19, 10:20 am, Tim Chase <[EMAIL PROTECTED]> wrote:
> > I guess the order_by('price') is working. However, it's not
> > working how I want it to. When I do the order_by on price
> > django think that a price of 59.99 is greater than a price of
> > 129.99. I guess it's looking at the first character and since
> > a 1 is less than a 5 it puts the 129.99 price first. Does
> > anybody know what I need to change to get it so that Django
> > compares prices instead of strings in my price field?
>
> Your guess is correct...CharFields sort character-by-character.
>
> Sounds like your price field should be a DecimalField (or a
> FloatField, depending on whether your version of Django has the
> newly-added DecimalField) rather than a CharField
>
> -tim
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---