1

django admin に挿入した後、レコード ID のようなディレクトリを作成したいのですが、どのように、どこでこれを行うことができますか。

save_model に試してみましたが、うまくいきません。Gallery.ID は None を返します

モデル:

class Gallery(models.Model):
    title = models.CharField(max_length=250)
    added = models.DateTimeField()
    active = models.BooleanField()

    def __unicode__(self):
        return self.title

そしてAdminModel

class GalleryAdmin(admin.ModelAdmin):
    save_on_top = True
    list_filter = ('active',)
    list_display = ('title','active','added')
    ordering = ['-added']
    inlines = [ImagesInline]

    def save_model(self, request, Gallery, form, change):
        if not change:
            Gallery.title = str(Gallery.id)
        Gallery.save()
4

2 に答える 2

1
def save_model(self, request, Gallery, form, change):
    if Gallery.id is None:
        Gallery.save()
    if not change:
        Gallery.title = str(Gallery.id)
    Gallery.save()

これは、2save()回だけ実行します。

于 2012-05-13T10:25:35.437 に答える
1

GalleryAdminあなたをこれに変更してください...save()インスタンスがGalleryそのid.

def save_model(self, request, Gallery, form, change):
    Gallery.save()
    if not change:
        Gallery.title = str(Gallery.id)
于 2012-05-13T09:50:34.220 に答える