Ревизии не создаются в TestCase ( Django, django-reversion, tests)
Пытаюсь покрыть тестами django-reversion функциональность для моей модели, но версии не создаются в тестовой базе данных, при ручном создании из интерфейса администратора все работает нормально.
Модель:
@reversion.register()
class RuleSet(ModeratedBase, AdminUrlMixin):
"""Ruleset of a given type of contest related to the contest"""
name = models.CharField(
max_length=64,
help_text="Short name of the ruleset.",
unique=True
)
rules = models.JSONField(
default=dict,
help_text="Base rules dict for Ruleset",
blank=True,
null=True,
)
default_for = models.ManyToManyField(
"ci_contest.ContestType",
help_text="Field specifies content types ruleset is default for",
related_name="default_ruleset",
null=True,
blank=True,
)
def __str__(self):
return self.name
def get_versions(self):
return Version.objects.get_for_object(self)
Тест:
class RulesetTestCase(TestCase):
fixtures = ["core-defaults", "gamer-defaults", "ledger-defaults", "contest-defaults"]
def setUp(self):
call_command("createinitialrevisions")
self.ruleset = RuleSetFactory()
def test_ruleset_get_versions(self):
self.assertFalse(self.ruleset.get_versions().exists())
self.ruleset.rules = str(fake.pydict())
self.ruleset.save()
print(self.ruleset.get_versions())
self.assertTrue(self.ruleset.get_versions().exists())
Вывод на печать:
<VersionQuerySet []>