预先填写的字段'另存为' Django的

时间:2015-02-01 23:56:02

标签: python django

我是django的新手,并创建了一个调查应用程序。我在admin.py中为我的slug添加了预先填充的字段,这些字段必须是数据库中的唯一值,并且为了复制调查而添加了save_as = True。我的问题是,一旦调查已经创建并保存,如果我想编辑调查的名称(以及调查的标题),编辑调查名称将不会相应地更新slug而无需手动编辑slug字段。我想知道是否可以解决这个问题,以便在编辑调查名称时,slug字段也会更新。

admin.py:

class SurveyAdmin(admin.ModelAdmin):
    prepopulated_fields = { "slug": ("name",),}
    fields = ['name', 'pub_date', 'description', 'external_survey_url','minutes_allowed', 'slug']
    inlines = [QuestionInline, SurveyImageInLine]
    save_as = True

admin.site.unregister(User)
admin.site.register(Survey, SurveyAdmin)
admin.site.register(Question, QuestionAdmin)

1 个答案:

答案 0 :(得分:0)

感谢输入人员,我能够成功覆盖模型save()方法,该方法现在可以在更新名称时正确更新slug ..

models.py:

    def save(self, *args, **kwargs):
        self.slug = self.name
        super(Survey, self).save(*args, **kwargs)