0

たとえば、いくつかのグローバル設定を含むインスタンスが 1 つだけの環境設定アプリが必要です。

# preferences/models.py
class Preferences(models.Model):
    site_title = models.CharField(max_length=255, blank=True)
    site_url = models.CharField(max_length=255, blank=True)
    logo = models.ImageField(upload_to="logo", null=True)

    def save(self, *args, **kwargs):
        if Preferences.objects.count() > 1:
            return
        super(Preferences, self).save(*args, **kwargs)

上書き保存のクレジット: このチケット. また、前述のチケットのおかげで、追加ボタンを削除しました

# preferences/admin.py
class PreferencesAdmin(admin.ModelAdmin):
    def has_add_permission(self, request):
        num_objects = self.model.objects.count()
        if num_objects >= 1:
            return False
        else:
            return True

admin.site.register(Preferences, PreferencesAdmin)

今、私が望むのは、管理者のインデックス ページから直接、Preferences モデルの最初で唯一のインスタンスにジャンプすることだけです。どうすればこれを達成できますか?手伝ってくれてありがとう。

4

1 に答える 1

0

それを行うためのアプリを見つけました: https://github.com/ionata/django-singletons元のシングルトンは Django 1.5 では動作しない ため、必ず上記のフォークを使用してください。

于 2013-03-24T15:38:21.130 に答える