本文整理汇总了Python中reversion.get_adapter函数的典型用法代码示例。如果您正苦于以下问题:Python get_adapter函数的具体用法?Python get_adapter怎么用?Python get_adapter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_adapter函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: testRegistration
def testRegistration(self):
# Register the model and test.
reversion.register(ReversionTestModel1)
self.assertTrue(reversion.is_registered(ReversionTestModel1))
self.assertRaises(RegistrationError, lambda: reversion.register(ReversionTestModel1))
self.assertTrue(ReversionTestModel1 in reversion.get_registered_models())
self.assertTrue(isinstance(reversion.get_adapter(ReversionTestModel1), reversion.VersionAdapter))
# Unregister the model and text.
reversion.unregister(ReversionTestModel1)
self.assertFalse(reversion.is_registered(ReversionTestModel1))
self.assertRaises(RegistrationError, lambda: reversion.unregister(ReversionTestModel1))
self.assertTrue(ReversionTestModel1 not in reversion.get_registered_models())
self.assertRaises(RegistrationError, lambda: isinstance(reversion.get_adapter(ReversionTestModel1)))
开发者ID:larssos,项目名称:django-reversion,代码行数:13,代码来源:tests.py
示例2: testInlineAdmin
def testInlineAdmin(self):
self.assertTrue(reversion.is_registered(InlineTestParentModel))
# make sure model is following the child FK
self.assertTrue('children' in reversion.get_adapter(InlineTestParentModel).follow)
self.createInlineObjects()
# unregister model
reversion.unregister(InlineTestParentModel)
self.assertFalse(reversion.is_registered(InlineTestParentModel))
# re-register without following
reversion.register(InlineTestParentModel)
self.assertTrue(reversion.is_registered(InlineTestParentModel))
# make sure model is NOT following the child FK
self.assertFalse('children' in reversion.get_adapter(InlineTestParentModel).follow)
self.createInlineObjects()
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:14,代码来源:tests.py
示例3: setUp
def setUp(self):
# Unregister all registered models.
self.initial_registered_models = []
for registered_model in reversion.get_registered_models():
self.initial_registered_models.append((registered_model, reversion.get_adapter(registered_model).__class__))
reversion.unregister(registered_model)
# Register the test models.
reversion.register(ReversionTestModel1)
reversion.register(ReversionTestModel2)
# Create some test data.
self.test11 = ReversionTestModel1.objects.create(
name = "model1 instance1 version1",
)
self.test12 = ReversionTestModel1.objects.create(
name = "model1 instance2 version1",
)
self.test21 = ReversionTestModel2.objects.create(
name = "model2 instance1 version1",
)
self.test22 = ReversionTestModel2.objects.create(
name = "model2 instance2 version1",
)
self.user = User()
if CUSTOM_USER_MODEL:
setattr(self.user, User.USERNAME_FIELD, '1')
else:
self.user.username = "user1"
开发者ID:larssos,项目名称:django-reversion,代码行数:27,代码来源:tests.py
示例4: check_registration
def check_registration(self, test_model):
# Register the model and test.
reversion.register(test_model)
self.assertTrue(reversion.is_registered(test_model))
self.assertRaises(RegistrationError, lambda: reversion.register(test_model))
self.assertTrue(test_model in reversion.get_registered_models())
self.assertTrue(isinstance(reversion.get_adapter(test_model), reversion.VersionAdapter))
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:7,代码来源:tests.py
示例5: check_deregistration
def check_deregistration(self, test_model):
# Unregister the model and text.
reversion.unregister(test_model)
self.assertFalse(reversion.is_registered(test_model))
self.assertRaises(RegistrationError, lambda: reversion.unregister(test_model))
self.assertTrue(test_model not in reversion.get_registered_models())
self.assertRaises(RegistrationError, lambda: isinstance(reversion.get_adapter(test_model)))
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:7,代码来源:tests.py
示例6: setUp
def setUp(self):
# Unregister all registered models.
self.initial_registered_models = []
for registered_model in reversion.get_registered_models():
self.initial_registered_models.append((registered_model, reversion.get_adapter(registered_model).__class__))
reversion.unregister(registered_model)
# Register the test models.
reversion.register(ReversionTestModel1)
reversion.register(ReversionTestModel2)
reversion.register(ReversionTestModel3, eager_signals=[pre_delete])
# Create some test data.
self.test11 = ReversionTestModel1.objects.create(
name = "model1 instance1 version1",
)
self.test12 = ReversionTestModel1.objects.create(
name = "model1 instance2 version1",
)
self.test21 = ReversionTestModel2.objects.create(
name = "model2 instance1 version1",
)
self.test22 = ReversionTestModel2.objects.create(
name = "model2 instance2 version1",
)
self.test31 = ReversionTestModel3.objects.create(
name = "model3 instance1 version1",
)
self.test32 = ReversionTestModel3.objects.create(
name = "model3 instance2 version1",
)
self.user = User.objects.create(
username = "user1",
)
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:32,代码来源:tests.py
示例7: test_file_persistence
def test_file_persistence(self):
content = b'content1'
with reversion.create_revision():
# add a file instance
file1 = FileModel()
file1.test_file.save('file1.txt', SimpleUploadedFile('file1.txt', content), False)
file1.save()
# manually add a revision because we use the explicit way
# django-cms uses too.
adapter = reversion.get_adapter(FileModel)
if hasattr(reversion.models, 'VERSION_CHANGE'):
reversion.revision_context_manager.add_to_context(
reversion.default_revision_manager, file1,
adapter.get_version_data(file1, VERSION_CHANGE))
else:
reversion.revision_context_manager.add_to_context(
reversion.default_revision_manager, file1,
adapter.get_version_data(file1))
# reload the instance from db
file2 = FileModel.objects.all()[0]
# delete the instance.
file2.delete()
# revert the old version
file_version = reversion.get_for_object(file1)[0]
file_version.revert()
# reload the reverted instance and check for its content
file1 = FileModel.objects.all()[0]
self.assertEqual(file1.test_file.file.read(), content)
开发者ID:ArslanRafique,项目名称:django-cms,代码行数:30,代码来源:reversion_tests.py
示例8: testEagerRegistration
def testEagerRegistration(self):
# Register the model and test.
reversion.register(ReversionTestModel3, eager_signals=[pre_delete])
self.assertTrue(reversion.is_registered(ReversionTestModel3))
self.assertRaises(RegistrationError, lambda: reversion.register(ReversionTestModel3, eager_signals=[pre_delete]))
self.assertTrue(ReversionTestModel3 in reversion.get_registered_models())
self.assertTrue(isinstance(reversion.get_adapter(ReversionTestModel3), reversion.VersionAdapter))
self.assertEquals([], reversion.default_revision_manager._signals[ReversionTestModel3])
self.assertEquals([pre_delete], reversion.default_revision_manager._eager_signals[ReversionTestModel3])
# Unregister the model and text.
reversion.unregister(ReversionTestModel3)
self.assertFalse(reversion.is_registered(ReversionTestModel3))
self.assertRaises(RegistrationError, lambda: reversion.unregister(ReversionTestModel3))
self.assertTrue(ReversionTestModel3 not in reversion.get_registered_models())
self.assertRaises(RegistrationError, lambda: isinstance(reversion.get_adapter(ReversionTestModel3)))
self.assertFalse(ReversionTestModel3 in reversion.default_revision_manager._signals)
self.assertFalse(ReversionTestModel3 in reversion.default_revision_manager._eager_signals)
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:17,代码来源:tests.py
示例9: testInlineProxyAdmin
def testInlineProxyAdmin(self):
self.assertTrue(reversion.is_registered(InlineTestParentModelProxy))
# make sure model is following the child FK
self.assertTrue('children' in reversion.get_adapter(InlineTestParentModelProxy).follow)
parent_pk = self.createInlineProxyObjects()
# Check that the current version includes the inlines.
versions = list(reversion.get_for_object_reference(InlineTestParentModelProxy, parent_pk))
response = self.client.get(reverse(
"admin:test_app_inlinetestparentmodelproxy_revision",
args=(parent_pk, versions[0].pk),
))
self.assertContains(response, "parent version2") # Check parent model.
self.assertContains(response, "non-generic child version 1") # Check inline child model.
# Check that the first version does not include the inlines.
response = self.client.get(reverse(
"admin:test_app_inlinetestparentmodelproxy_revision",
args=(parent_pk, versions[1].pk),
))
self.assertContains(response, "parent version1") # Check parent model.
self.assertNotContains(response, "non-generic child version 1") # Check inline child model.
开发者ID:7i11,项目名称:django-reversion,代码行数:20,代码来源:tests.py
示例10: __init__
def __init__(self, field, field_name, obj, version1, version2):
self.field = field
self.field_name = field_name
self.obj = obj
model = self.obj.__class__
self.has_int_pk = has_int_pk(model)
self.adapter = get_adapter(model) # VersionAdapter instance
# is a related field (ForeignKey, ManyToManyField etc.)
self.is_related = self.field.rel is not None
if not self.is_related:
self.follow = None
elif self.field_name in self.adapter.follow:
self.follow = True
else:
self.follow = False
self.compare_obj1 = CompareObject(field, field_name, obj, version1, self.has_int_pk, self.adapter)
self.compare_obj2 = CompareObject(field, field_name, obj, version2, self.has_int_pk, self.adapter)
self.value1 = self.compare_obj1.value
self.value2 = self.compare_obj2.value
开发者ID:bmihelac,项目名称:django-reversion-compare,代码行数:24,代码来源:admin.py
示例11: _hack_inline_formset_initial
def _hack_inline_formset_initial(self, FormSet, formset, obj, version, revert, recover):
"""Hacks the given formset to contain the correct initial data."""
# if the FK this inline formset represents is not being followed, don't process data for it.
# see https://github.com/etianen/django-reversion/issues/222
if formset.rel_name not in reversion.get_adapter(self.model).follow:
return
# Now we hack it to push in the data from the revision!
initial = []
related_versions = self.get_related_versions(obj, version, FormSet)
formset.related_versions = related_versions
for related_obj in formset.queryset:
if force_text(related_obj.pk) in related_versions:
initial.append(related_versions.pop(force_text(related_obj.pk)).field_dict)
else:
initial_data = model_to_dict(related_obj)
initial_data["DELETE"] = True
initial.append(initial_data)
for related_version in related_versions.values():
initial_row = related_version.field_dict
pk_name = ContentType.objects.get_for_id(related_version.content_type_id).model_class()._meta.pk.name
del initial_row[pk_name]
initial.append(initial_row)
# Reconstruct the forms with the new revision data.
formset.initial = initial
formset.forms = [formset._construct_form(n) for n in range(len(initial))]
# Hack the formset to force a save of everything.
def get_changed_data(form):
return [field.name for field in form.fields]
for form in formset.forms:
form.has_changed = lambda: True
form._get_changed_data = partial(get_changed_data, form=form)
def total_form_count_hack(count):
return lambda: count
formset.total_form_count = total_form_count_hack(len(initial))
开发者ID:balsdorf,项目名称:django-reversion,代码行数:36,代码来源:admin.py
注:本文中的reversion.get_adapter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论