本文整理汇总了Python中reversion.create_revision函数的典型用法代码示例。如果您正苦于以下问题:Python create_revision函数的具体用法?Python create_revision怎么用?Python create_revision使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了create_revision函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: save
def save(self, *args, **kwargs):
if not self.pk:
created = True
else:
created = False
try:
if not self.creator and not self.pk:
self.creator = self.prescription.creator
if not self.modifier:
self.modifier = self.prescription.modifier
except ObjectDoesNotExist:
if self.prescription:
self.creator = self.prescription.creator
self.modifier = self.prescription.modifier
else:
raise Exception("Cannot set object.creator: {}".format(self))
super(Audit, self).save(*args, **kwargs)
if created:
with reversion.create_revision():
reversion.set_comment('Initial version.')
else:
if self.has_changed():
comment = 'Changed ' + ', '.join(self.changed_data) + '.'
with reversion.create_revision():
reversion.set_comment(comment)
else:
with reversion.create_revision():
reversion.set_comment('Nothing changed.')
开发者ID:parksandwildlife,项目名称:pbs,代码行数:31,代码来源:auth.py
示例2: testGetForObjectUniqueMiss
def testGetForObjectUniqueMiss(self):
with reversion.create_revision():
obj = TestModel.objects.create()
with reversion.create_revision():
obj.name = "v2"
obj.save()
self.assertEqual(len(list(Version.objects.get_for_object(obj).get_unique())), 2)
开发者ID:mcastle,项目名称:django-reversion,代码行数:7,代码来源:test_models.py
示例3: testGetDeleted
def testGetDeleted(self):
with reversion.create_revision():
obj = TestModel.objects.create()
with reversion.create_revision():
obj.save()
obj.delete()
self.assertEqual(Version.objects.get_deleted(TestModel).count(), 1)
开发者ID:etianen,项目名称:django-reversion,代码行数:7,代码来源:test_models.py
示例4: handle
def handle(self, *args, **options):
if len(args) != 2:
print('Usage: ./manage.py create_wordlist <wordlist> </path/to/wordlist.txt>')
quit()
with open(args[1], 'rU') as handle:
words = self.parse(handle, options['create'] )
sys.stdout.write("%d words loaded from %s" % (len(words), args[1]))
if 'run' in options and options['run']:
ed = User.objects.get(pk=1)
# create wordlist.
with reversion.create_revision():
wl = Wordlist.objects.create(
editor=ed,
name=args[0]
)
wl.save()
# go through words and add them to wordlist
for order in sorted(words):
with reversion.create_revision():
m = WordlistMember(wordlist=wl, word=words[order], order=order)
m.save()
if wl.words.count() != len(words):
raise AssertionError(
"Number of words in wordlist doesn't match expected (%d != %d)" % \
(wl.words.count(), len(words))
)
sys.stdout.write("Wordlist %s created with %d entries" % (wl, wl.words.count()))
else:
sys.stdout.write("Dry-run complete. Use --run to save changes. Rolling back.")
开发者ID:SimonGreenhill,项目名称:language5,代码行数:33,代码来源:create_wordlist.py
示例5: process_batch
def process_batch(key, batch_info, iv):
"""Loops through items in a batch and processes them."""
batch_info = pickle.loads(decrypt(key, batch_info, iv.decode('hex')))
success = True
if 'dependencies' in batch_info:
dependencies = serializers.deserialize('json', batch_info['dependencies'])
for dep in dependencies:
dep.save()
if 'update' in batch_info:
updates = serializers.deserialize('json', batch_info['update'])
for item in updates:
with reversion.create_revision():
item.save()
if 'deletions' in batch_info:
deletions = json.loads(batch_info['deletions'])
for deletion in deletions:
app_label, model_label, object_id = deletion
ct = ContentType.objects.get_by_natural_key(app_label, model_label)
for result in ct.model_class().objects.filter(pk=object_id):
with reversion.create_revision():
result.delete()
return success
开发者ID:Mondego,项目名称:pyreco,代码行数:27,代码来源:allPythonContent.py
示例6: test_04_published_version
def test_04_published_version(self):
# Should not be any published versions yet
self.assertEqual(self.article.published_version, None)
with create_revision():
Article.publishing.publish(self.article)
# Should be one published versions now
self.assertEqual(self.article.published_version, self.article)
# Lets make another version but set it to draft
self.article.title = "%s - Changed" % self.article.title
# Setting the status to draft is nessesary here because we
# want to ensure we receive the correct published version
self.article.publishing_status = DRAFT_STATUS
with create_revision():
self.article.save()
# This test will ensure that our title change is not part of the
# published version of the article.
self.assertEqual(self.article.published_version.title, "Article 001")
# Ensure the gallery's method works
self.assertEqual(self.gallery.published_version, None)
with create_revision():
Gallery.publishing.publish(self.gallery)
# Should be one published versions now
self.assertEqual(self.gallery.published_version, self.gallery)
开发者ID:natgeosociety,项目名称:django-publisher,代码行数:31,代码来源:tests.py
示例7: test_03_admin_publishing
def test_03_admin_publishing(self):
from django.contrib.formtools.tests import DummyRequest
request = DummyRequest(POST={'_publishing_publish': ''})
# Get the article admin
article_admin = admin.site._registry[Article]
self.assertEqual(self.article.published_version, None)
# Call the save model, which should trigger the publishing of the article.
with create_revision():
article_admin.save_model(request, self.article, None, None)
self.assertEqual(self.article.published_version, self.article)
# Do the same thing with the gallery model
gallery_admin = admin.site._registry[Gallery]
self.assertEqual(self.gallery.published_version, None)
with create_revision():
gallery_admin.save_model(request, self.gallery, None, None)
self.assertEqual(self.gallery.published_version, self.gallery)
# Do the same thing with the story model
story_admin = admin.site._registry[Story]
self.assertEqual(self.story.published_version, None)
with create_revision():
story_admin.save_model(request, self.story, None, None)
self.assertEqual(self.story.published_version, self.story)
开发者ID:natgeosociety,项目名称:django-publisher,代码行数:29,代码来源:tests.py
示例8: save
def save(self, *args, **kwargs):
"""Set creator and modifier to current user or superuser.
This method uses pythia.middleware.get_current_user to retrieve either
the request.user from thread local storage (as injected by
pythia.middleware.ThreadLocals) or the superuser in case the thread
was not a request (e.g. run through shell or unit tests).
"""
user = get_current_user()
# If saving a new model, set the creator.
if not self.pk:
self.creator = user
created = True
else:
created = False
self.modifier = user
super(Audit, self).save(*args, **kwargs)
if created:
with reversion.create_revision():
reversion.set_comment('Initial version.')
else:
if self.has_changed():
comment = 'Changed ' + ', '.join(self.changed_data) + '.'
with reversion.create_revision():
reversion.set_comment(comment)
else:
with reversion.create_revision():
reversion.set_comment('Nothing changed.')
开发者ID:parksandwildlife,项目名称:sdis,代码行数:31,代码来源:models.py
示例9: split_and_replace
def split_and_replace(self, obj):
if '/' in obj.entry:
components = obj.entry.split("/")
elif ',' in obj.entry:
components = obj.entry.split(",")
pks = []
for c in components:
c = c.strip()
assert len(c) > 0, "Unable to split properly - zero length component"
self._print("Splitting: %s -> %s" % (obj.entry, c))
with reversion.create_revision():
o = Lexicon.objects.create(
language=obj.language,
word=obj.word,
source=obj.source,
editor=obj.editor,
entry=c
)
reversion.set_comment("Automatic split_entries has created this from: %d" % obj.id)
pks.append(o.id)
# now delete old entry
with reversion.create_revision():
obj.delete()
reversion.set_comment("Automatic split_entries has moved this item to: %s" % ",".join([str(p) for p in pks]))
开发者ID:SimonGreenhill,项目名称:language5,代码行数:25,代码来源:split_entries.py
示例10: testGetForObjectFiltering
def testGetForObjectFiltering(self):
with reversion.create_revision():
obj_1 = TestModel.objects.create()
with reversion.create_revision():
obj_2 = TestModel.objects.create()
self.assertEqual(Version.objects.get_for_object(obj_1).get().object, obj_1)
self.assertEqual(Version.objects.get_for_object(obj_2).get().object, obj_2)
开发者ID:mcastle,项目名称:django-reversion,代码行数:7,代码来源:test_models.py
示例11: testGetDeletedMySQL
def testGetDeletedMySQL(self):
with reversion.create_revision(using="mysql"):
obj = TestModel.objects.using("mysql").create()
with reversion.create_revision(using="mysql"):
obj.save()
obj.delete()
self.assertEqual(Version.objects.using("mysql").get_deleted(TestModel, model_db="mysql").count(), 1)
开发者ID:etianen,项目名称:django-reversion,代码行数:7,代码来源:test_models.py
示例12: testRevertWithDelete
def testRevertWithDelete(self):
with reversion.create_revision():
test23 = ReversionTestModel2.objects.create(
name = "model2 instance3 version1",
)
self.follow1.test_model_2s.add(test23)
self.follow1.save()
self.assertEqual(reversion.get_for_object(test23).count(), 1)
self.assertEqual(self.follow1.test_model_2s.all().count(), 3)
# Test that a revert with delete works.
test23_pk = test23.pk
self.assertEqual(ReversionTestModel2.objects.count(), 3)
with reversion.create_revision():
reversion.get_for_object(self.follow1)[1].revision.revert(delete=True)
self.assertEqual(ReversionTestModel1.objects.get(id=self.test11.pk).name, "model1 instance1 version1")
self.assertEqual(ReversionTestModel2.objects.get(id=self.test22.pk).name, "model2 instance2 version1")
self.assertEqual(ReversionTestModel2.objects.get(id=self.test22.pk).name, "model2 instance2 version1")
self.assertEqual(ReversionTestModel2.objects.count(), 2)
self.assertRaises(ReversionTestModel2.DoesNotExist, lambda: ReversionTestModel2.objects.get(id=test23_pk))
# Roll back to the revision where all models were present.
reversion.get_for_object(self.follow1)[1].revision.revert()
self.assertEqual(self.follow1.test_model_2s.all().count(), 3)
# Roll back to a revision where a delete flag is present.
reversion.get_for_object(self.follow1)[0].revision.revert(delete=True)
self.assertEqual(self.follow1.test_model_2s.all().count(), 2)
开发者ID:larssos,项目名称:django-reversion,代码行数:25,代码来源:tests.py
示例13: alternate_accepted
def alternate_accepted(alternate):
# This is called by the alternate_accept endpoint
# The alternate gets there via a private link sent to their slack
season = alternate.season_player.season
round_ = current_round(season)
# Validate that the alternate is in the correct state
if alternate.status != 'contacted':
return False
# Validate that the alternate doesn't already have a game in the round
# Players can sometimes play multiple games (e.g. playing up a board), but that isn't done through the alternates manager
if (TeamPlayerPairing.objects.filter(team_pairing__round=round_, white=alternate.season_player.player) | \
TeamPlayerPairing.objects.filter(team_pairing__round=round_, black=alternate.season_player.player)).nocache().exists():
return False
# Find an open spot to fill, prioritized by the time the search started
active_searches = AlternateSearch.objects.filter(round=round_, board_number=alternate.board_number, is_active=True) \
.order_by('date_created').select_related('team').nocache()
for search in active_searches:
if search.still_needs_alternate():
with reversion.create_revision():
reversion.set_comment('Alternate assigned')
assignment, _ = AlternateAssignment.objects.update_or_create(round=round_, team=search.team, board_number=search.board_number, \
defaults={'player': alternate.season_player.player, 'replaced_player': None})
with reversion.create_revision():
reversion.set_comment('Alternate assigned')
alternate.status = 'accepted'
alternate.save()
with reversion.create_revision():
reversion.set_comment('Alternate search completed')
search.status = 'completed'
search.save()
signals.alternate_assigned.send(sender=alternate_accepted, season=season, alt_assignment=assignment)
return True
return False
开发者ID:cyanfish,项目名称:heltour,代码行数:33,代码来源:alternates_manager.py
示例14: create_Simple_data
def create_Simple_data(self):
with create_revision():
item1 = SimpleModel.objects.create(text="version one")
if self.verbose:
print("version 1:", item1)
with create_revision():
item1.text = "version two"
item1.save()
set_comment("simply change the CharField text.")
if self.verbose:
print("version 2:", item1)
for no in range(5):
with create_revision():
if no == 0:
item2 = SimpleModel.objects.create(text="v0")
set_comment("create v%i" % no)
else:
item2.text = "v%i" % no
item2.save()
set_comment("change to v%i" % no)
return item1, item2
开发者ID:adamchainz,项目名称:django-reversion-compare,代码行数:26,代码来源:test_data.py
示例15: testCanRevertRevisionWithDeletedVersions
def testCanRevertRevisionWithDeletedVersions(self):
self.assertEqual(ReversionTestModel1.objects.count(), 2)
self.assertEqual(ReversionTestModel2.objects.count(), 2)
with reversion.create_revision():
self.test11.name = "model1 instance1 version3"
self.test11.save()
self.test12.delete()
self.test21.name = "model2 instance1 version3"
self.test21.save()
self.test22.delete()
self.assertEqual(ReversionTestModel1.objects.count(), 1)
self.assertEqual(ReversionTestModel2.objects.count(), 1)
with reversion.create_revision():
self.test11.name = "model1 instance1 version4"
self.test11.save()
self.test21.name = "model2 instance1 version4"
self.test21.save()
self.assertEqual(ReversionTestModel1.objects.count(), 1)
self.assertEqual(ReversionTestModel2.objects.count(), 1)
# Revert to a revision where some deletes were logged.
reversion.get_for_object(self.test11)[1].revision.revert()
self.assertEqual(ReversionTestModel1.objects.count(), 1)
self.assertEqual(ReversionTestModel2.objects.count(), 1)
self.assertEqual(ReversionTestModel1.objects.get(id=self.test11.id).name, "model1 instance1 version3")
self.assertEqual(ReversionTestModel2.objects.get(id=self.test21.id).name, "model2 instance1 version3")
# Revert the a revision before the deletes were logged.
reversion.get_for_object(self.test11)[2].revision.revert()
self.assertEqual(ReversionTestModel1.objects.count(), 2)
self.assertEqual(ReversionTestModel2.objects.count(), 2)
开发者ID:larssos,项目名称:django-reversion,代码行数:29,代码来源:tests.py
示例16: test_deleted_objects
def test_deleted_objects(self):
"""
for:
https://github.com/jedie/django-reversion-compare/commit/ba22008130f4c16a32eeb900381c2d82ca6fdd9e
https://travis-ci.org/jedie/django-reversion-compare/builds/72317520
"""
with reversion.create_revision():
factory1 = Factory.objects.create(name="factory one")
car = Car.objects.create(
name="car",
manufacturer=factory1
)
with reversion.create_revision():
factory2 = Factory.objects.create(name="factory two")
car.manufacturer=factory2
car.save()
with reversion.create_revision():
factory1.delete()
queryset = get_for_object(car)
version_ids = queryset.values_list("pk", flat=True) # [3, 2]
# print("\n", version_ids)
# response = self.client.get("/admin/tests/car/%s/history/" % car.pk)
# debug_response(response) # from django-tools
response = self.client.get(
"/admin/tests/car/%s/history/compare/" % car.pk,
data={"version_id2":version_ids[0], "version_id1":version_ids[1]}
)
开发者ID:aliva,项目名称:django-reversion-compare,代码行数:32,代码来源:test_factory_car_models.py
示例17: testGetForObjectReferenceFiltering
def testGetForObjectReferenceFiltering(self):
with reversion.create_revision():
obj_1 = TestModel.objects.create()
with reversion.create_revision():
obj_2 = TestModel.objects.create()
self.assertEqual(Version.objects.get_for_object_reference(TestModel, obj_1.pk).get().object, obj_1)
self.assertEqual(Version.objects.get_for_object_reference(TestModel, obj_2.pk).get().object, obj_2)
开发者ID:mcastle,项目名称:django-reversion,代码行数:7,代码来源:test_models.py
示例18: form_valid
def form_valid(self, form):
version_list = reversion.get_unique_for_object(self.object)
if version_list:
version = version_list[0]
# get difference between last version and new version
diff = {}
for k,v in version.field_dict.iteritems():
if v not in form.cleaned_data.values():
if k != u"id":
diff[k] = form.cleaned_data[k]
# get the help_text of the field using name
for k,v in diff.items():
for field in Passport._meta.fields:
if field.name == k:
diff[smart_text(field.help_text)] = v
del diff[k]
with reversion.create_revision():
form.save()
changed = u"Изменено: "
for k, v in diff.items():
changed += u" %s -> %s | " % (k, v)
reversion.set_comment(changed)
else:
with reversion.create_revision():
form.save()
return super(PassportUpdateView, self).form_valid(form)
开发者ID:zionist,项目名称:orphan_list,代码行数:27,代码来源:passport.py
示例19: setUp
def setUp(self):
super(AdminRevisionViewTest, self).setUp()
with reversion.create_revision():
self.obj = TestModelParent.objects.create()
with reversion.create_revision():
self.obj.name = "v2"
self.obj.parent_name = "parent v2"
self.obj.save()
开发者ID:Flimm,项目名称:django-reversion,代码行数:8,代码来源:test_admin.py
示例20: testContextManager
def testContextManager(self):
# New revision should be created.
with reversion.create_revision():
with reversion.create_revision():
self.test11.name = "model1 instance1 version2"
self.test11.save()
self.assertEqual(Revision.objects.count(), 2)
self.assertEqual(Version.objects.count(), 5)
开发者ID:LukasRychtecky,项目名称:django-reversion,代码行数:8,代码来源:tests.py
注:本文中的reversion.create_revision函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论