django回归的历史比较

django-reversion-compare的Python项目详细描述


安装

只需使用:

pip install django-reversion-compare

您可以选择安装 google diff match patch ,否则将使用difflib。最简单的方法是使用非官方的包 diff-match-patch ,例如:

pip install diff-match-patch

设置

在"设置"中添加"反向比较"到"已安装的应用程序"。py,例如:

INSTALLED_APPS = (
    'django...',
    ...
    'reversion', # https://github.com/etianen/django-reversion
    'reversion_compare', # https://github.com/jedie/django-reversion-compare
    ...
)

# Add reversion models to admin interface:
ADD_REVERSION_ADMIN=True

用法

CompareVersionAdmin而不是从 versionAdmin继承以获取比较功能。

管理py例如:

from django.contrib import admin
from reversion_compare.admin import CompareVersionAdmin

from my_app.models import ExampleModel

class ExampleModelAdmin(CompareVersionAdmin):
    pass

admin.site.register(ExampleModel, ExampleModelAdmin)

如果您使用的是现有的第三方应用程序,那么您可以将补丁django reversion compare添加到 它的管理类使用 reversion_compare.helpers.patch_admin() 方法。例如,添加 内置用户模型的版本控制:

from reversion_compare.helpers import patch_admin

patch_admin(User)

例如:添加django cms页面模型:

from cms.models.pagemodel import Page
from reversion_compare.helpers import patch_admin


# Patch django-cms Page Model to add reversion-compare functionality:
patch_admin(Page)

自定义

可以更改每个字段或整个字段类型的外观。 您只能使用此名称方案为管理类定义一个方法:

  • "比较字段名"
  • "比较字段。获取内部类型"

如果没有此名称方案的方法,则将使用回退比较方法。

按名称为模型字段指定比较方法的示例:

class YourAdmin(CompareVersionAdmin):
    def compare_foo_bar(self, obj_compare):
        """ compare the foo_bar model field """
        return "%r <-> %r" % (obj_compare.value1, obj_compare.value2)

并举例使用带有自定义版本管理类:

patch_admin(User, AdminClass=YourAdmin)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常