Djangoの管理システムに問題があり、add_viewメソッドとchange_viewメソッドをオーバーライドして、データの追加と変更のためのさまざまなフィールドを表示しています。追加ビューは、変更ビューが表示されるまで完全に機能します。その後、新しいデータを追加しようとすると、追加ビューではなく変更ビューが常に表示されます。私はDjango 1.9.4の最新リリース版を使用しています。私のModelAdminクラスはかなり簡単です:Django admin add_viewは初めてchange_viewが表示されるまでレンダリングされます
@admin.register(Trigger)
class TriggerAdmin(admin.ModelAdmin):
def add_view(self, request, **kwargs):
self.fields = ('name', 'modules', 'trigger_event')
self.filter_horizontal = ('modules',)
return super(TriggerAdmin, self).add_view(request, **kwargs)
def response_add(self, request, obj, **kwargs):
return HttpResponseRedirect("../%s" % obj.id)
def change_view(self, request, object_id, **kwargs):
self.fieldsets = (
(None, {'fields': ('name', 'modules')}),
(_('Trigger'), {'fields': ('trigger_event', 'query', 'actions', 'is_active')})
)
self.readonly_fields = ('modules', 'trigger_event')
return super(TriggerAdmin, self).change_view(request, object_id, **kwargs)
私はすべてのサードパーティのアプリケーションを無効にしており、DummyCacheのみを使用しています。変更ビューが表示された後に追加ビューを再度表示させる唯一の方法は、サイトを再起動することです。私はそれが正しくadd_viewメソッドを呼び出していることを確認しました。その後、ある時点で間違っていて、代わりにchange_viewを表示しています。
これはバグではないと思われますが、それ以外の人には不満があるので、私は間違ったことをする必要がありますが、それが何かを見ることはできません。
おかげで、
ポール