我正在使用django和oracle数据库。我有一个使用django-modeltranslation的模型。当我为多种语言添加文本时,oracle数据库抛出ORA-22284:不支持重复LONG绑定错误。我该如何解决? 我是StackOverFlow的新手。如果我的问题不够详细,请告诉我。
这是我的模特:
class About(models.Model):
image = models.ImageField(upload_to='about', verbose_name=_('Image'))
text = models.TextField(verbose_name=_("Text"))
phone = models.CharField(max_length=50, verbose_name="Phone")
address = models.CharField(max_length=255, verbose_name=_("Address"))
class Meta:
verbose_name = _("About")
verbose_name_plural = _("About")
def __str__(self):
return str(_('About AzeriCard'))
这是translations.py
from app.models import *
from modeltranslation.translator import translator, TranslationOptions
class AboutTrans(TranslationOptions):
fields = ('text', 'address')
答案 0 :(得分:1)
最近使用Oracle和Django ORM,使用多个TextField并赋予相同的值(超过2000个字符)。 Oracle因ORA-22284错误而崩溃。
class Object(models.Model):
text = models.TextField(verbose_name=_("Text"))
text1 = models.TextField(verbose_name=_("Text1"))
@receiver(pre_save, sender=Object)
def add_spaces_to_textfield(sender, instance, **kwargs):
if instance.text == instance.text1:
instance.text1 = instance.text1 + " "
对于您的模型翻译,您可以使用以下字段执行类似的操作:text,text_xx,text_yy