我试图通过使用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'.
有人知道我为什么会得到这个吗?我从未在数据库中创建过名为“标语”的字段。相反,这正是django modeltranslation代表我应该做的,所以我不明白为什么它会抛出这样的错误
你能帮我吗?非常感谢你们所有人
目前没有回答
相关问题 更多 >
编程相关推荐