我有一个模型,我只想链接到一个网站。我将使用文档示例:
from django.db import models
from django.contrib.sites.models import Site
class Article(models.Model):
# ...
site = models.ForeignKey(Site)
但是在每个站点的管理员中,无论站点设置如何,所有对象都会显示出来。我想:
为了使事情复杂化,该模型也是adminsortable.Sortable
,但我并不认为这会导致严重的问题。
答案 0 :(得分:1)
第一部分很简单。我们可以在ModelAdmin上自定义查询集(此处由StortableAdmin子类化)。
from django.contrib.sites.shortcuts import get_current_site
@admin.register(Article)
class ArticleAdmin(SortableAdmin):
def queryset(self, request):
return super(ArticleAdmin, self).queryset(request).filter(
site=get_current_site(request)
)
这不会处理默认值,但现在对我来说已足够了。