當管理員list_editable
與限制自定義管理器一起使用時,我遇到了一些奇怪的行爲。每次嘗試保存管理員列表中的更改時,都會收到以下消息:請更正以下錯誤。Django管理員列表編輯
有關如何擺脫此錯誤消息的任何建議?
下面是一個最小的例子:
models.py
from django.db import models
class RestrictedManager(models.Manager):
def get_queryset(self):
return super(RestrictedManager, self).get_queryset().none()
class MyModel(models.Model):
on = models.BooleanField()
objects = RestrictedManager()
all_objects = models.Manager()
admin.py
from django.contrib.admin import ModelAdmin, site
from models import MyModel
class MyModelAdmin(ModelAdmin):
list_editable = ('on',)
list_display = ('id', 'on',)
def get_queryset(self, request):
return MyModel.all_objects
site.register(MyModel, MyModelAdmin)
如果你想知道,爲什麼我用none()
默認查詢集, 我不。我僅使用none()
來簡化示例。任何由默認管理器過濾掉的對象都會出現問題。
Django似乎不鼓勵我的方法。謝謝! – Yossi 2015-05-06 08:05:38