問題タブ [django-custom-field]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
886 参照

python - カスタムDjangoモデルフィールドをJSONシリアル化しようとするとTypeError

を格納するカスタム Django モデル フィールドを作成しましたdateutil.relativedelta。フィールドは次のようになります。

このフィールドを持つオブジェクトをjsonにシリアル化しようとしています:

しかし、私はエラーが発生します:

を使用すると、この場合はオブジェクト自体であり、何にも変換されておらず、シリアライズされていないことpdbがわかります。o

フィールドをシリアル化できるようにするにはどうすればよいですか?

Django のドキュメントには、( https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#converting-field-data-for-serialization ) を追加するようvalue_to_stringに記載されていますが、これは私が持っています。

0 投票する
2 に答える
137 参照

database - django-カスタムフィールドでOracleバックエンドの例外を作成するにはどうすればよいですか?

問題:カスタムdjangoモデルフィールドを作成しています。get_db_prep_save(self、value、connection)で、Oracleバックエンドの例外を実行し、他のバックエンドとは異なる動作をする必要があります。だから私はこれを行うための最良の、公式のそして最もエレガントな方法を探しています。

免責事項:「settings.DATABASESを使用してdjango.db.backends.oracleを探してください」という回答は、単に間違っているため、受け入れません。設定を使用すると、現在使用しているデータベース(デフォルトまたはその他)がわかりません。将来、Oracleのバックエンドパスがdjango.db.backends.oracleから別のデータベースに変更される可能性があります。私が探しているのは、カスタムフィールドをデータベースに保存するときにOracleを扱っているかどうかを確認するための最良の方法です。

0 投票する
1 に答える
224 参照

django - 管理者で編集すると、Django カスタム フィールドでエラーが発生する

モデル クラスの 1 つの名前 (「Cat」、「Dog」、「Restaurant」、「SuperPrivateCommercialDataPiece」など) を DB に保持し、クラス オブジェクトを返すカスタム Django フィールドを実装しようとしています。リクエスト:

そして、私は本当にこれを作りました。models.Field、 set__metaclass__などをサブクラス化しました。

上記のコードでは、期待どおりに動作します。また、そのようなフィールドを含むモデルのいくつかを管理者に登録しました。今では、そのようなオブジェクトを作成することもできます。MyGloriousFieldType フィールドのテキスト入力が作成されます。

MyGloriousFieldType フィールドを持つ既存のオブジェクトを編集しようとすると、危機が始まります。まず、テキスト フィールドに "Cat" ではなく "Cat object" を入力します。次に、「Cat」に戻して「変更を保存」をクリックすると、エラーが発生します。

それで、私は何を間違っていますか?

0 投票する
1 に答える
1235 参照

django - django adminに表示されるカスタムモデルフィールドの値を変更する方法

私はこのコードを持っています:

テキスト ボックスから多くの電子メールを受け取り、検証し、保存するように設計されています。データベースにテキスト (例: "jim@mail.com, lauren@mail.com") として保存します。管理テキスト ボックスとリスト ビュー (およびおそらく他の場所) を除いて、すべてが期待どおりに機能します。値は u"['jim@mail.com', 'lauren@mail.com']" として表示されます。もちろん、これは醜いだけでなく無効な形式です。

テキストボックスとリスト ビューの両方で「jim@mail.com, lauren@mail.com」と表示されるようにするにはどうすればよいですか?

0 投票する
1 に答える
805 参照

python - django admin でカスタム フィールドの一意の制約を処理する

こんにちは、私は django を初めて使用し、モデルにカスタム フィールドを使用することに初めて取り組みました。常に小文字で保存したい Char フィールドがあるため、次のようにカスタム フィールドとして実装しました (別のスタック オーバーフローの投稿から学びました)。

これを管理者でテストしたところ、実際にフィールド エントリは保存される前に正しく小文字に変換されます。残念ながら、一意性制約をテストしたところ、管理者は整合性エラーを適切に処理していませんでした。最初から大文字と小文字が完全に一致する場合、私のようにクリーンなエラーが発生する代わりに:

ここに画像の説明を入力

醜いエラーページが表示されます:

ここに画像の説明を入力

一意の制約が適切なエラーをトリガーするのに十分な「早い段階」でキャッチされるようにカスタム フィールドを設定するにはどうすればよいですか。

(注:現在、データベースにsqlite3を使用しています)

更新:誰かが興味を持っている場合は、これが私のために働いた修正されたコードです:

0 投票する
4 に答える
3091 参照

javascript - カスタム ウィジェットへの Javascript の追加

この質問は関連しています

Django: Javascript をカスタム ウィジェットに追加する最良の方法

しかし、同じではありません。

元の質問は、カスタム django ウィジェットにサポートする JavaScript を追加する方法を尋ねており、答えは を使用することforms.Mediaですが、その解決策は私にはうまくいきません。私の例はこれです:

ウィジェットは、フォームにレンダリングされると、(おもちゃの例) 次のような行を作成します。

ここで、出力に追加したいのは、次のような別の行です。

最初のアイデアは、ウィジェットがレンダリングされるときに と の両方がレンダリングされるというものですがdivscriptそれは機能しません。問題は、htmlドキュメントの構造が次のようになっていることです。

ウィジェットの JavaScript コードがブラウザーに読み込まれる時点では、jQuery および datetimepicker js ファイルはまだ読み込まれていません (ドキュメントの最後に読み込まれます)。

を使用してこれを行うことはできませんMedia。生成するオプションと ID は関数にとって不可欠であるためです。これを解決する最善の方法は何ですか?

0 投票する
2 に答える
1326 参照

python - HDF5 (HDF Store) を Django モデル フィールドに格納する方法

私は現在、分析の結果として pandas DataFrames を生成するプロジェクトに取り組んでいます。私は Django で開発しており、「結果」モデルの「データ」フィールドを使用して pandas DataFrame を保存したいと考えています。

HDF5(HDF Store) は、私の pandas DataFrames を格納する最も効率的な方法のようです。ただし、モデルにカスタム フィールドを作成して保存する方法がわかりません。説明のために、簡略化した views.py と models.py を以下に示します。

models.py

ビュー.py

また、Django で使用できるのであれば、同様のパフォーマンスを持つ Pickle などの別の保存方法も受け入れます。