1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from django import forms
- from django.contrib import admin
- from .models import Article, ArticleProxy, Site
- class ArticleAdminForm(forms.ModelForm):
- nolabel_form_field = forms.BooleanField(required=False)
- class Meta:
- model = Article
- fields = ["title"]
- @property
- def changed_data(self):
- data = super().changed_data
- if data:
- # Add arbitrary name to changed_data to test
- # change message construction.
- return data + ["not_a_form_field"]
- return data
- class ArticleInline(admin.TabularInline):
- model = Article
- fields = ["title"]
- form = ArticleAdminForm
- class SiteAdmin(admin.ModelAdmin):
- inlines = [ArticleInline]
- site = admin.AdminSite(name="admin")
- site.register(Article)
- site.register(ArticleProxy)
- site.register(Site, SiteAdmin)
- class CustomAdminSite(admin.AdminSite):
- def get_log_entries(self, request):
- from django.contrib.contenttypes.models import ContentType
- log_entries = super().get_log_entries(request)
- return log_entries.filter(
- content_type__in=ContentType.objects.get_for_models(
- *self._registry.keys()
- ).values()
- )
- custom_site = CustomAdminSite(name="custom_admin")
- custom_site.register(Article)
|