1. from django import forms
    
  2. from django.contrib import admin
    
  3. 
    
  4. from .models import Article, ArticleProxy, Site
    
  5. 
    
  6. 
    
  7. class ArticleAdminForm(forms.ModelForm):
    
  8.     nolabel_form_field = forms.BooleanField(required=False)
    
  9. 
    
  10.     class Meta:
    
  11.         model = Article
    
  12.         fields = ["title"]
    
  13. 
    
  14.     @property
    
  15.     def changed_data(self):
    
  16.         data = super().changed_data
    
  17.         if data:
    
  18.             # Add arbitrary name to changed_data to test
    
  19.             # change message construction.
    
  20.             return data + ["not_a_form_field"]
    
  21.         return data
    
  22. 
    
  23. 
    
  24. class ArticleInline(admin.TabularInline):
    
  25.     model = Article
    
  26.     fields = ["title"]
    
  27.     form = ArticleAdminForm
    
  28. 
    
  29. 
    
  30. class SiteAdmin(admin.ModelAdmin):
    
  31.     inlines = [ArticleInline]
    
  32. 
    
  33. 
    
  34. site = admin.AdminSite(name="admin")
    
  35. site.register(Article)
    
  36. site.register(ArticleProxy)
    
  37. site.register(Site, SiteAdmin)