mirror of
https://github.com/Hopiu/django-modeltranslation.git
synced 2026-05-09 22:04:48 +00:00
Merge pull request #414 from felixxm/issue-warning
Django 2.0 deprecation warnings.
This commit is contained in:
commit
95f5716b9f
5 changed files with 33 additions and 16 deletions
|
|
@ -182,8 +182,8 @@ class TranslationField(object):
|
|||
self.related_query_name = lambda: loc_related_query_name
|
||||
self.remote_field.related_name = build_localized_fieldname(current, self.language)
|
||||
self.remote_field.field = self # Django 1.6
|
||||
if hasattr(self.remote_field.to._meta, '_related_objects_cache'):
|
||||
del self.remote_field.to._meta._related_objects_cache
|
||||
if hasattr(self.remote_field.model._meta, '_related_objects_cache'):
|
||||
del self.remote_field.model._meta._related_objects_cache
|
||||
|
||||
# Django 1.5 changed definition of __hash__ for fields to be fine with hash requirements.
|
||||
# It spoiled our machinery, since TranslationField has the same creation_counter as its
|
||||
|
|
|
|||
|
|
@ -60,19 +60,31 @@ class NonTranslated(models.Model):
|
|||
|
||||
class ForeignKeyModel(models.Model):
|
||||
title = models.CharField(ugettext_lazy('title'), max_length=255)
|
||||
test = models.ForeignKey(TestModel, null=True, related_name="test_fks")
|
||||
optional = models.ForeignKey(TestModel, blank=True, null=True)
|
||||
hidden = models.ForeignKey(TestModel, blank=True, null=True, related_name="+")
|
||||
non = models.ForeignKey(NonTranslated, blank=True, null=True, related_name="test_fks")
|
||||
untrans = models.ForeignKey(TestModel, blank=True, null=True, related_name="test_fks_un")
|
||||
test = models.ForeignKey(
|
||||
TestModel, null=True, related_name="test_fks", on_delete=models.CASCADE,
|
||||
)
|
||||
optional = models.ForeignKey(TestModel, blank=True, null=True, on_delete=models.CASCADE)
|
||||
hidden = models.ForeignKey(
|
||||
TestModel, blank=True, null=True, related_name="+", on_delete=models.CASCADE,
|
||||
)
|
||||
non = models.ForeignKey(
|
||||
NonTranslated, blank=True, null=True, related_name="test_fks", on_delete=models.CASCADE,
|
||||
)
|
||||
untrans = models.ForeignKey(
|
||||
TestModel, blank=True, null=True, related_name="test_fks_un", on_delete=models.CASCADE,
|
||||
)
|
||||
|
||||
|
||||
class OneToOneFieldModel(models.Model):
|
||||
title = models.CharField(ugettext_lazy('title'), max_length=255)
|
||||
test = models.OneToOneField(TestModel, null=True, related_name="test_o2o")
|
||||
optional = models.OneToOneField(TestModel, blank=True, null=True)
|
||||
test = models.OneToOneField(
|
||||
TestModel, null=True, related_name="test_o2o", on_delete=models.CASCADE,
|
||||
)
|
||||
optional = models.OneToOneField(TestModel, blank=True, null=True, on_delete=models.CASCADE)
|
||||
# No hidden option for OneToOne
|
||||
non = models.OneToOneField(NonTranslated, blank=True, null=True, related_name="test_o2o")
|
||||
non = models.OneToOneField(
|
||||
NonTranslated, blank=True, null=True, related_name="test_o2o", on_delete=models.CASCADE,
|
||||
)
|
||||
|
||||
|
||||
# ######### Custom fields testing
|
||||
|
|
|
|||
|
|
@ -989,9 +989,12 @@ class ForeignKeyFieldsTest(ModeltranslationTestBase):
|
|||
trans_real.activate("de")
|
||||
test_inst2 = models.TestModel(title_en='title_en', title_de='title_de')
|
||||
test_inst2.save()
|
||||
test_inst2.test_fks = [fk_inst_de, fk_inst_both]
|
||||
test_inst2.test_fks_en = (fk_inst_en, fk_inst_both)
|
||||
|
||||
if django.VERSION >= (1, 9):
|
||||
test_inst2.test_fks.set((fk_inst_de, fk_inst_both))
|
||||
test_inst2.test_fks_en.set((fk_inst_en, fk_inst_both))
|
||||
else:
|
||||
test_inst2.test_fks = [fk_inst_de, fk_inst_both]
|
||||
test_inst2.test_fks_en = (fk_inst_en, fk_inst_both)
|
||||
self.assertEqual(fk_inst_both.test.pk, test_inst2.pk)
|
||||
self.assertEqual(fk_inst_both.test_id, test_inst2.pk)
|
||||
self.assertEqual(fk_inst_both.test_de, test_inst2)
|
||||
|
|
|
|||
|
|
@ -529,11 +529,11 @@ class Translator(object):
|
|||
|
||||
# Set related field names on other model
|
||||
if NEW_RELATED_API and not field.remote_field.is_hidden():
|
||||
other_opts = self._get_options_for_model(field.remote_field.to)
|
||||
other_opts = self._get_options_for_model(field.remote_field.model)
|
||||
other_opts.related = True
|
||||
other_opts.related_fields.append(field.related_query_name())
|
||||
# Add manager in case of non-registered model
|
||||
add_manager(field.remote_field.to)
|
||||
add_manager(field.remote_field.model)
|
||||
elif not NEW_RELATED_API and not field.rel.is_hidden():
|
||||
other_opts = self._get_options_for_model(field.rel.to)
|
||||
other_opts.related = True
|
||||
|
|
@ -543,7 +543,7 @@ class Translator(object):
|
|||
if isinstance(field, OneToOneField):
|
||||
# Fix translated_field caching for SingleRelatedObjectDescriptor
|
||||
sro_descriptor = (
|
||||
getattr(field.remote_field.to, field.remote_field.get_accessor_name())
|
||||
getattr(field.remote_field.model, field.remote_field.get_accessor_name())
|
||||
if NEW_RELATED_API
|
||||
else getattr(field.rel.to, field.related.get_accessor_name()))
|
||||
patch_related_object_descriptor_caching(sro_descriptor)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env python
|
||||
import os
|
||||
import sys
|
||||
import warnings
|
||||
|
||||
import django
|
||||
from django.conf import settings
|
||||
|
|
@ -47,6 +48,7 @@ def runtests():
|
|||
MIDDLEWARE_CLASSES=(),
|
||||
)
|
||||
|
||||
warnings.simplefilter('always', DeprecationWarning)
|
||||
if django.VERSION >= (1, 7):
|
||||
django.setup()
|
||||
failures = call_command(
|
||||
|
|
|
|||
Loading…
Reference in a new issue