Skip to content

Commit

Permalink
add formfield_for_foreignkey for admin
Browse files Browse the repository at this point in the history
  • Loading branch information
Hopetree committed Nov 27, 2020
1 parent 3520fa2 commit 01951b4
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions apps/blog/admin.py
@@ -1,3 +1,5 @@
from django.conf import settings
from django.apps import apps
from django.contrib import admin
from .models import (Article, Tag, Category, Timeline,
Carousel, Silian, Keyword, FriendLink,
Expand Down Expand Up @@ -33,6 +35,15 @@ def get_queryset(self, request):
return qs
return qs.filter(author=request.user)

def formfield_for_foreignkey(self, db_field, request, **kwargs):
User = apps.get_model(settings.AUTH_USER_MODEL)
if db_field.name == 'author':
if request.user.is_superuser:
kwargs['queryset'] = User.objects.filter(is_staff=True, is_active=True)
else:
kwargs['queryset'] = User.objects.filter(id=request.user.id)
return super(ArticleAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)


@admin.register(Tag)
class TagAdmin(admin.ModelAdmin):
Expand Down

0 comments on commit 01951b4

Please sign in to comment.