Каким должен быть тип данных для хранения символа валюты в моделях Django - PullRequest
0 голосов
/ 23 января 2019

У меня есть модель Django, которая относится к валюте с такими полями, как название валюты, код валюты и символ валюты.

class Currency(models.Model):
    currency_name = models.CharField(max_length=100)
    currency_code = models.CharField(max_length=3)
    currency_symbol = models.TextField(blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True,null=True)
    updated_at = models.DateTimeField(auto_now=True)

Поле currency_symbol будет содержать символ для конкретной валюты, например, «€».

Однако, когда я пытаюсь сохранить модель, я получаю следующее исключение:

django.db.utils.DataError: (1406, "Data too long for column 'currency_symbol' at row 1")

Итак, какой должен быть правильный тип данных?

1 Ответ

0 голосов
/ 23 января 2019

Вы можете использовать CharField для хранения этой информации, как упоминал Хасан.Вы получаете это исключение, потому что, хотя вы можете только видеть один символ, "€" хранится в базе данных в зашифрованном виде.Увеличьте размер поля currency_code = models.CharField(max_length=3) с 3 до чего-то большего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...