1

django と python を使用して Web アプリを作成しています。私は自分のsqlite3 DBを持っていて、私が持っている管理クラスに:

class Job_Admin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['project', 'customer', 'pub_date', 'closed', ('contract','abamount')]}),
        ('Sales', {'fields': ['sales', 'office_choice'], 'classes': ['wide']}),
    ]
    list_display = ('project', 'id', 'sales', 'pub_date')
    search_fields = ['id', 'project']


admin.site.register(New_job, Job_Admin)

現在、「id」は、sqlite db が与える増分番号です。これもインクリメントする必要があるため、「ジョブ」番号としても使用しています。私の問題は、list_display で「id」を使用でき、それが機能することです。しかし、それをフィールドセットに入れることができません。「'Job_Admin.fieldsets[0][1]['fields']' は、フォームにないフィールド 'id' を参照しています」とエラーになります。

追加: 後でこのデータを引き出す必要がある可能性が高いため、ラベル/変数名を付けることができるかどうか知りたいです。

4

1 に答える 1

1

どうやらDjangoは、編集を防ぐために、管理インターフェースから主キーとしてマークされたフィールドを非表示にします(SQLiteでは、idフィールドはデフォルトでPKになると思います)。この投稿では、readonly_fields に含めることで可能な解決策を提供しています。

Django Admin で主キーを編集/表示

于 2013-08-21T20:11:54.257 に答える