當前位置: 首頁>>代碼示例>>Python>>正文


Python models.DELETION屬性代碼示例

本文整理匯總了Python中django.contrib.admin.models.DELETION屬性的典型用法代碼示例。如果您正苦於以下問題:Python models.DELETION屬性的具體用法?Python models.DELETION怎麽用?Python models.DELETION使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在django.contrib.admin.models的用法示例。


在下文中一共展示了models.DELETION屬性的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_log_actions

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def test_log_actions(self):
        ma = ModelAdmin(Band, self.site)
        mock_request = MockRequest()
        mock_request.user = User.objects.create(username='bill')
        content_type = get_content_type_for_model(self.band)
        tests = (
            (ma.log_addition, ADDITION, {'added': {}}),
            (ma.log_change, CHANGE, {'changed': {'fields': ['name', 'bio']}}),
            (ma.log_deletion, DELETION, str(self.band)),
        )
        for method, flag, message in tests:
            with self.subTest(name=method.__name__):
                created = method(mock_request, self.band, message)
                fetched = LogEntry.objects.filter(action_flag=flag).latest('id')
                self.assertEqual(created, fetched)
                self.assertEqual(fetched.action_flag, flag)
                self.assertEqual(fetched.content_type, content_type)
                self.assertEqual(fetched.object_id, str(self.band.pk))
                self.assertEqual(fetched.user, mock_request.user)
                if flag == DELETION:
                    self.assertEqual(fetched.change_message, '')
                    self.assertEqual(fetched.object_repr, message)
                else:
                    self.assertEqual(fetched.change_message, str(message))
                    self.assertEqual(fetched.object_repr, str(self.band)) 
開發者ID:nesdis,項目名稱:djongo,代碼行數:27,代碼來源:tests.py

示例2: lookups

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def lookups(self, request, model_admin):
        return (
            (admin_models.ADDITION, 'Added'),
            (admin_models.CHANGE, 'Changed'),
            (admin_models.DELETION, 'Deleted'),
        ) 
開發者ID:GamesDoneQuick,項目名稱:donation-tracker,代碼行數:8,代碼來源:filters.py

示例3: deletion

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def deletion(request, object, object_repr=None):
    """
    Log that an object will be deleted.
    """
    models.LogEntry.objects.log_action(
        user_id=request.user.id,
        content_type_id=ContentType.objects.get_for_model(object).pk,
        object_id=object.pk,
        object_repr=object_repr or force_str(object),
        action_flag=models.DELETION,
    ) 
開發者ID:GamesDoneQuick,項目名稱:donation-tracker,代碼行數:13,代碼來源:logutil.py

示例4: log_deletion

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def log_deletion(self, request, object, object_repr):
        """
        Log that an object will be deleted. Note that this method must be
        called before the deletion.

        The default implementation creates an admin LogEntry object.
        """
        from django.contrib.admin.models import LogEntry, DELETION
        return LogEntry.objects.log_action(
            user_id=request.user.pk,
            content_type_id=get_content_type_for_model(object).pk,
            object_id=object.pk,
            object_repr=object_repr,
            action_flag=DELETION,
        ) 
開發者ID:reBiocoder,項目名稱:bioforum,代碼行數:17,代碼來源:options.py

示例5: object_link

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def object_link(self, obj):
        ct = obj.content_type
        repr_ = escape(obj.object_repr)
        try:
            href = reverse('%s:%s_%s_change' % (app_settings.RA_ADMIN_SITE_NAME, ct.app_label, ct.model),
                           args=[obj.object_id])
            link = u'<a href="%s">%s</a>' % (href, repr_)
        except NoReverseMatch:
            link = repr_
        return mark_safe(link) if obj.action_flag != DELETION else repr_ 
開發者ID:ra-systems,項目名稱:django-ra-erp,代碼行數:12,代碼來源:admin.py

示例6: get_the_object

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def get_the_object(self, obj):
        if obj.action_flag == DELETION:  # 添加是1, 修改是2, 刪除是3
            link = obj.object_repr  # 操作對象的呈現, 其實應該就是str(obj)
        else:
            link = obj.get_admin_url()  # 會獲取到當時操作對象的鏈接地址
            link = format_html('<a href="%s">%s</a>' % (link, obj.object_repr))
        return link 
開發者ID:enjoy-binbin,項目名稱:Django-blog,代碼行數:9,代碼來源:admin.py

示例7: log_deletion

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def log_deletion(self, request, object, object_repr):
        """
        Log that an object will be deleted. Note that this method must be
        called before the deletion.

        The default implementation creates an admin LogEntry object.
        """
        from django.contrib.admin.models import LogEntry, DELETION
        LogEntry.objects.log_action(
            user_id=request.user.pk,
            content_type_id=get_content_type_for_model(object).pk,
            object_id=object.pk,
            object_repr=object_repr,
            action_flag=DELETION,
        ) 
開發者ID:drexly,項目名稱:openhgsenti,代碼行數:17,代碼來源:options.py

示例8: test_logentry_unicode

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def test_logentry_unicode(self):
        log_entry = LogEntry()

        log_entry.action_flag = ADDITION
        self.assertTrue(str(log_entry).startswith('Added '))

        log_entry.action_flag = CHANGE
        self.assertTrue(str(log_entry).startswith('Changed '))

        log_entry.action_flag = DELETION
        self.assertTrue(str(log_entry).startswith('Deleted '))

        # Make sure custom action_flags works
        log_entry.action_flag = 4
        self.assertEqual(str(log_entry), 'LogEntry Object') 
開發者ID:nesdis,項目名稱:djongo,代碼行數:17,代碼來源:test_logentry.py

示例9: test_proxy_model_content_type_is_used_for_log_entries

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def test_proxy_model_content_type_is_used_for_log_entries(self):
        """
        Log entries for proxy models should have the proxy model's contenttype
        (#21084).
        """
        proxy_content_type = ContentType.objects.get_for_model(ArticleProxy, for_concrete_model=False)
        post_data = {
            'site': self.site.pk, 'title': "Foo", 'hist': "Bar",
            'created_0': '2015-12-25', 'created_1': '00:00',
        }
        changelist_url = reverse('admin:admin_utils_articleproxy_changelist')

        # add
        proxy_add_url = reverse('admin:admin_utils_articleproxy_add')
        response = self.client.post(proxy_add_url, post_data)
        self.assertRedirects(response, changelist_url)
        proxy_addition_log = LogEntry.objects.latest('id')
        self.assertEqual(proxy_addition_log.action_flag, ADDITION)
        self.assertEqual(proxy_addition_log.content_type, proxy_content_type)

        # change
        article_id = proxy_addition_log.object_id
        proxy_change_url = reverse('admin:admin_utils_articleproxy_change', args=(article_id,))
        post_data['title'] = 'New'
        response = self.client.post(proxy_change_url, post_data)
        self.assertRedirects(response, changelist_url)
        proxy_change_log = LogEntry.objects.latest('id')
        self.assertEqual(proxy_change_log.action_flag, CHANGE)
        self.assertEqual(proxy_change_log.content_type, proxy_content_type)

        # delete
        proxy_delete_url = reverse('admin:admin_utils_articleproxy_delete', args=(article_id,))
        response = self.client.post(proxy_delete_url, {'post': 'yes'})
        self.assertRedirects(response, changelist_url)
        proxy_delete_log = LogEntry.objects.latest('id')
        self.assertEqual(proxy_delete_log.action_flag, DELETION)
        self.assertEqual(proxy_delete_log.content_type, proxy_content_type) 
開發者ID:nesdis,項目名稱:djongo,代碼行數:39,代碼來源:test_logentry.py

示例10: post

# 需要導入模塊: from django.contrib.admin import models [as 別名]
# 或者: from django.contrib.admin.models import DELETION [as 別名]
def post(self, request, *args, **kwargs):
        """
        Perform the actual import action (after the user has confirmed he
        wishes to import)
        """
        resource = self.get_import_resource_class()(**self.get_import_resource_kwargs(request, *args, **kwargs))

        confirm_form = ConfirmImportForm(request.POST)
        if confirm_form.is_valid():
            import_formats = self.get_import_formats()
            input_format = import_formats[
                int(confirm_form.cleaned_data['input_format'])
            ]()
            tmp_storage = self.get_tmp_storage_class()(name=confirm_form.cleaned_data['import_file_name'])
            data = tmp_storage.read(input_format.get_read_mode())
            if not input_format.is_binary() and self.from_encoding:
                data = force_text(data, self.from_encoding)
            dataset = input_format.create_dataset(data)

            result = resource.import_data(dataset, dry_run=False,
                                          raise_errors=True,
                                          file_name=confirm_form.cleaned_data['original_file_name'],
                                          user=request.user)

            if not self.get_skip_admin_log():
                # Add imported objects to LogEntry
                logentry_map = {
                    RowResult.IMPORT_TYPE_NEW: ADDITION,
                    RowResult.IMPORT_TYPE_UPDATE: CHANGE,
                    RowResult.IMPORT_TYPE_DELETE: DELETION,
                }
                content_type_id = ContentType.objects.get_for_model(self.model).pk
                for row in result:
                    if row.import_type != row.IMPORT_TYPE_ERROR and row.import_type != row.IMPORT_TYPE_SKIP:
                        LogEntry.objects.log_action(
                            user_id=request.user.pk,
                            content_type_id=content_type_id,
                            object_id=row.object_id,
                            object_repr=row.object_repr,
                            action_flag=logentry_map[row.import_type],
                            change_message="%s through import_export" % row.import_type,
                        )
            success_message = str(_(u'Import finished')) + ' , ' + str(_(u'Add')) + ' : %d' % result.totals[
                RowResult.IMPORT_TYPE_NEW] + ' , ' + str(_(u'Update')) + ' : %d' % result.totals[
                RowResult.IMPORT_TYPE_UPDATE]

            messages.success(request, success_message)
            tmp_storage.remove()

            post_import.send(sender=None, model=self.model)
            model_info = (self.opts.app_label, self.opts.model_name)
            url = reverse('xadmin:%s_%s_changelist' % model_info,
                          current_app=self.admin_site.name)
            return HttpResponseRedirect(url) 
開發者ID:stormsha,項目名稱:StormOnline,代碼行數:56,代碼來源:importexport.py


注:本文中的django.contrib.admin.models.DELETION屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。