Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django modeltranslation ValueError:添加转换字段时出错。模型已包含该字段_Python_Django_Localization_Internationalization - Fatal编程技术网

Python Django modeltranslation ValueError:添加转换字段时出错。模型已包含该字段

Python Django modeltranslation ValueError:添加转换字段时出错。模型已包含该字段,python,django,localization,internationalization,Python,Django,Localization,Internationalization,我试图通过使用Django modeltranslation在Django项目中实现本地化。文档非常清晰明了,我一直遵循它在我的项目中使用它 问题是,当我尝试迁移模型时,我得到了一个无法解释的ValueError 这是我的密码: 设置.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttyp

我试图通过使用Django modeltranslation在Django项目中实现本地化。文档非常清晰明了,我一直遵循它在我的项目中使用它

问题是,当我尝试迁移模型时,我得到了一个无法解释的ValueError

这是我的密码:

设置.py

    INSTALLED_APPS = [
        
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'modeltranslation',
        'core',
        'blog',
        'staticpages',
        
    ]

# Default language
LANGUAGE_CODE = 'en'

# Languages supported by translation
LANGUAGES = [
    ('en', ('English')),
    ('es', ('Spanish')),
    ('es', ('Italian')),
]

# Enable translations
USE_I18N = True

USE_L10N = True

USE_TZ = True
models.py

# Create your models here.
class Homepage(models.Model):
    slogan = models.CharField(max_length=500)
    about_text = models.TextField()
translation.py

from modeltranslation.translator import translator, TranslationOptions
from .models import Homepage

class HomepageTranslationOptions(TranslationOptions):
    fields = ('slogan', 'about_text')

translator.register(Homepage, HomepageTranslationOptions)
这就是我得到的错误:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/django/core/management/__init__.py", line 377, in execute
    django.setup()
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/apps.py", line 11, in ready
    handle_translation_registrations()
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/models.py", line 75, in handle_translation_registrations
    autodiscover()
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/models.py", line 26, in autodiscover
    import_module(module)
  File "/Users/Andrea/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/Andrea/Documents/agency/staticpages/translation.py", line 7, in <module>
    translator.register(Homepage, HomepageTranslationOptions)
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/translator.py", line 457, in register
    self._register_single_model(model, opts)
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/translator.py", line 474, in _register_single_model
    add_translation_fields(model, opts)
  File "/Users/Andrea/anaconda3/lib/python3.6/site-packages/modeltranslation/translator.py", line 163, in add_translation_fields
    (model._meta.object_name, localized_field_name))
ValueError: Error adding translation field. Model 'Homepage' already contains a field named 'slogan_es'.
回溯(最近一次呼叫最后一次):
文件“manage.py”,第22行,在
main()
文件“manage.py”,第18行,主
从命令行(sys.argv)执行命令
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/django/core/management/_init__.py”,第401行,从命令行执行
utility.execute()
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/django/core/management/_init__.py”,第377行,在execute中
django.setup()
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/django/_init__.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/django/apps/registry.py”,第122行,填充
app_config.ready()
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransation/apps.py”,第11行,就绪
处理翻译注册()
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransation/models.py”,第75行,在handle\u translation\u registrations中
自动发现()
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransation/models.py”,第26行,在自动发现中
导入模块(模块)
文件“/Users/Andrea/anaconda3/lib/python3.6/importlib/_init__.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第994行,在_gcd_导入中
文件“”,第971行,在_find_和_load中
文件“”,第955行,在“查找”和“加载”中解锁
文件“”,第665行,在“加载”中
exec_模块中第678行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“/Users/Andrea/Documents/agency/staticpages/translation.py”,第7行,在
翻译人员注册(主页、主页翻译选项)
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransation/translator.py”,第457行,在寄存器中
自注册单模式(模式、选项)
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransformation/translator.py”,第474行,在单模式寄存器中
添加翻译字段(模型、选项)
文件“/Users/Andrea/anaconda3/lib/python3.6/site packages/modeltransation/translator.py”,第163行,在add\u translation\u字段中
(模型._meta.object_name,本地化_field_name))
ValueError:添加翻译字段时出错。模型“主页”已包含名为“标语”的字段。
有人知道我为什么会得到这个吗?我从未在数据库中创建过名为“标语”的字段。相反,这正是django modeltranslation代表我应该做的,所以我不明白为什么它会抛出这样的错误


你能帮我吗?非常感谢你们所有人

我可能错了,但这是因为在settings.py文件中,西班牙语和意大利语的语言代码都设置为“es”?哦,天哪,我怎么没看到呢。当然,它给出了一个这样的错误,因为如果我有相同的语言代码,它会做同样的事情两次。非常感谢,有时候一个小错误是最难看到的:)