django modelAdmin のmodel 保存前に 処理

"""
# save_model() は model にセーブするとき最後に呼び出される。
# form validation, clean など全て完了した後なので、今回は使えない。
def save_model(self, request, obj, form, change):
    obj.save()
    if not obj.slug:
        # これは使えない(最初にsave()できないのでpk が取れない)
        obj.slug = slugify.slugify(obj.pk)
        obj.save()
"""
"""
def save_model(self, request, obj, form, change):
    if obj.slug:
        obj.slug = slugify.slugify(obj.slug)
    else :
        date = datetime.date.today()
        obj.slug = "%i/%i/%i/%s" % (date.year, date.month, date.day, slugify.slugify(form.title))
    obj.save()
"""
"""
def save_model(self, request, obj, form, change):
    if obj.slug:
        obj.slug = slugify.slugify(obj.slug)
    else :
        obj.slug = slugify.slugify(obj.title)
    obj.save()
"""
"""
def save_formset(self, request, form, formset, change):
    instances = formset.save(commit=False)
    for obj in formset.deleted_objects:
        obj.delete()
    for instance in instances:
        instance.user = request.user
        instance.save()
    formset.save_m2m()
"""

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です