提交管理站点表单后如何保存数据

时间:2017-11-21 20:33:08

标签: django django-models

以下是我的项目与model.py的截图。

当我点击“保存并添加另一个按钮”时,“Lev name:”“Sem name:”“SType:”的值更改为其默认值。 我该怎么办?

以便给定值不会更改为默认值。

1 个答案:

答案 0 :(得分:1)

如果您希望表单中的默认值为上一个条目中的值,则需要在ModelAdmin中自定义表单。可能最简单的方法是use your own form更改initial值。类似的东西:

class CourseAdmin(admin.ModelAdmin):
    form = CourseForm

class CourseForm(forms.ModelForm):
    class Meta:
        model = Course
        fields = '__all__'
    def __init__(self, **kwargs):
        try:
             last_course = Course.objects.last()
             initial = {'sem_name': last_course.sem_name, 'sType': last_course.sType}
        except Course.DoesNotExist:
             initial = None
        super(CourseForm, self).__init__(initial=initial, **kwargs)