Shortcuts for add, change and delete permissions

  1. Now ModelAdmin has a function
    def has_add_permission(self, request):
    but InlineModelAdmin has a slightly different function
    def has_add_permission(self, request, obj):.
    This difference makes it difficult to create common mixins.
  2. Instead of writing in the ModelAdmin class:
    def has_add_permission(self, request): return False
    we can define can_add = False