如何设置Django管理员一次编辑多个字段?

时间:2014-03-04 18:19:33

标签: python django admin models

我有一个简单的Django模型,允许更新轮播滑块中的特定项目。我希望能够在管理员中一次编辑这些项目的所有字段。

从概览中编辑它们会更加方便,而不必单独单击每个对象然后编辑它的字段。

以下是“models.py”中的模型:

def validate_only_three_instances(obj):
    model = obj.__class__
    # make sure of the correct quantity and allow re-saving existing objects
    if (model.objects.count() > 2 and
            model.objects.filter(id=obj.id).exists() == False):
        raise ValidationError("only 3 %ss can be created" % model.__name__)

class Slider(models.Model):
    slider_title = models.CharField(max_length=20)
    slider_text = models.TextField(max_length=200)
    slider_order = models.PositiveSmallIntegerField(
        default=1, blank=True, null=True, choices=[(1, 'first'),
                                                   (2, 'middle'), (3, 'last')])

    def clean(self):
        validate_only_three_instances(self)

    def __str__(self):
        return self.slider_title

这是来自我的“admin.py”:

class SliderAdmin(admin.ModelAdmin):

    # remove "add" button
    def has_add_permission(self, request):
        return False

    fieldsets = [
        (None,  {'fields': ['slider_title']}),
        (None,  {'fields': ['slider_text']}),
        (None,  {'fields': ['slider_order']}),
    ]
    list_display = ('slider_title', 'slider_text', 'slider_order', )

0 个答案:

没有答案