如何解决ORA-22284:django中不支持重复LONG绑定错误

我正在使用
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')

最佳答案 最近使用Oracle和Django ORM,使用多个TextFields并确定相同的值(超过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 + " "

对于使用modeltranslation的情况,您可以使用fields,text,text_xx,text_yy执行类似操作

点赞