Satchmo needs support for more than one currency at a time. Pricing versatility is important.
First, we need to add a currency code field (ISO 4217 3 character currency code) for each country in the l10n app's Country model. I've done this below. Next, changes to the Price model need to be made to support multiple currencies. (There should be automated exchange rate updating support and support for custom set prices in different currencies, right?)
I am making the assumption that every country has a national currency, and that there is a 1 to 1 relationship between countries and currencies. Therefore, we can include the currency code in the Country model, rather than making a separate Currency model that has a many-to-one relationship with Country...
--- satchmo/l10n/models.py (revision 1298)
+++ satchmo/l10n/models.py (working copy)
@@ -58,6 +58,9 @@
active = models.BooleanField(('Country is active'), default=True)
continent = models.CharField(('Continent'), choices=CONTINENTS, max_length=2)
admin_area = models.CharField(('Administrative Area'), choices=AREAS, max_length=2, null=True, blank=True)
+ # ISO 4217 currency code.
+ # These are not unique: for example, EUR (Euros) are multiple countries' currency...
+ iso4217_currency = models.CharField(('ISO Currency'), max_length=3)
class Meta: verbose_name = _('Country')
I searched but couldn't find a ticket for multiple currency support. If there's one already, please let me know so I can contribute there instead of starting from scratch...
Reported by ido