Different behaviour for DecimalField on MySQL and SQLite
|Reported by:||max@…||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||1.3|
|Severity:||Normal||Keywords:||sqlite, mysql, decimalfield|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Consider the following model:
class Product(models.Model): title = models.CharField('Title', max_length=250) price = models.DecimalField('Price', max_digits=9, decimal_places=2, default=0)
If you create or modify an object in the admin using MySQL and set the price to "0" with will automatically become "0.00".
But if you do the same using SQLite3, it will allow it to stay "0".
I know that the two backends doesn't provide the same features support and both store DecimalFiels differently, but couldn't the ORM deal with it transparently ?
Change History (7)
comment:3 Changed 5 years ago by jacob
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Triage Stage changed from Unreviewed to Accepted