Vâng, vì vậy, tôi muốn lưu trữ các lựa chọn đã dịch cho mô hình của mình, nhưng Django không đồng ý với tôi về mô hình này. Phiên bản của Django là 1.3 và các mô hình và lựa chọn giống như thế này:Django: kết hợp bản dịch lười biếng với nhãn hiệu an toàn trong các lựa chọn mô hình
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
RATE_CHOICES = (
('', _('Choose service rate')),
('5cpm_EUR', mark_safe(string_concat('€ 0,05 ', _('per minute')))),
('1cpm_EUR', mark_safe(string_concat('€ 0,01 ', _('per minute')))),
)
class Product(models.Model):
service_rate = models.CharField(_('service rate'), max_length=10, blank=True, choices=RATE_CHOICES)
Ngoài ra, lựa chọn được sử dụng trong một ModelForm (đối với mô hình khác vì vậy tôi đã phải redeclare lĩnh vực này) như sau:
service_rate = forms.ChoiceField(choices=RATE_CHOICES, widget=forms.Select(attrs={'class': 'chzn-select rate-select'}), required=False)
Vấn đề là dù tôi có cố gắng gì đi nữa; sau các công cụ trên tài liệu django, thứ tự đảo ngược của mark_safe và dịch thuật, sử dụng không dịch lười biếng, vv vv nó luôn luôn đi xuống hoặc là mark_safe làm việc hoặc dịch làm việc. Nhưng không bao giờ cả hai ...
Làm cách nào để kết hợp hai chức năng chính xác?
chạy django 1.3 và mặc dù tôi đã thử nó nhưng tôi không thể làm việc này. –