問題タブ [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.
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
に記載されていますが、これは私が持っています。
database - django-カスタムフィールドでOracleバックエンドの例外を作成するにはどうすればよいですか?
問題:カスタムdjangoモデルフィールドを作成しています。get_db_prep_save(self、value、connection)で、Oracleバックエンドの例外を実行し、他のバックエンドとは異なる動作をする必要があります。だから私はこれを行うための最良の、公式のそして最もエレガントな方法を探しています。
免責事項:「settings.DATABASESを使用してdjango.db.backends.oracleを探してください」という回答は、単に間違っているため、受け入れません。設定を使用すると、現在使用しているデータベース(デフォルトまたはその他)がわかりません。将来、Oracleのバックエンドパスがdjango.db.backends.oracleから別のデータベースに変更される可能性があります。私が探しているのは、カスタムフィールドをデータベースに保存するときにOracleを扱っているかどうかを確認するための最良の方法です。
django - 管理者で編集すると、Django カスタム フィールドでエラーが発生する
モデル クラスの 1 つの名前 (「Cat」、「Dog」、「Restaurant」、「SuperPrivateCommercialDataPiece」など) を DB に保持し、クラス オブジェクトを返すカスタム Django フィールドを実装しようとしています。リクエスト:
そして、私は本当にこれを作りました。models.Field
、 set__metaclass__
などをサブクラス化しました。
上記のコードでは、期待どおりに動作します。また、そのようなフィールドを含むモデルのいくつかを管理者に登録しました。今では、そのようなオブジェクトを作成することもできます。MyGloriousFieldType フィールドのテキスト入力が作成されます。
MyGloriousFieldType フィールドを持つ既存のオブジェクトを編集しようとすると、危機が始まります。まず、テキスト フィールドに "Cat" ではなく "Cat object" を入力します。次に、「Cat」に戻して「変更を保存」をクリックすると、エラーが発生します。
それで、私は何を間違っていますか?
django - django adminに表示されるカスタムモデルフィールドの値を変更する方法
私はこのコードを持っています:
テキスト ボックスから多くの電子メールを受け取り、検証し、保存するように設計されています。データベースにテキスト (例: "jim@mail.com, lauren@mail.com") として保存します。管理テキスト ボックスとリスト ビュー (およびおそらく他の場所) を除いて、すべてが期待どおりに機能します。値は u"['jim@mail.com', 'lauren@mail.com']" として表示されます。もちろん、これは醜いだけでなく無効な形式です。
テキストボックスとリスト ビューの両方で「jim@mail.com, lauren@mail.com」と表示されるようにするにはどうすればよいですか?
python - django admin でカスタム フィールドの一意の制約を処理する
こんにちは、私は django を初めて使用し、モデルにカスタム フィールドを使用することに初めて取り組みました。常に小文字で保存したい Char フィールドがあるため、次のようにカスタム フィールドとして実装しました (別のスタック オーバーフローの投稿から学びました)。
これを管理者でテストしたところ、実際にフィールド エントリは保存される前に正しく小文字に変換されます。残念ながら、一意性制約をテストしたところ、管理者は整合性エラーを適切に処理していませんでした。最初から大文字と小文字が完全に一致する場合、私のようにクリーンなエラーが発生する代わりに:
醜いエラーページが表示されます:
一意の制約が適切なエラーをトリガーするのに十分な「早い段階」でキャッチされるようにカスタム フィールドを設定するにはどうすればよいですか。
(注:現在、データベースにsqlite3を使用しています)
更新:誰かが興味を持っている場合は、これが私のために働いた修正されたコードです:
javascript - カスタム ウィジェットへの Javascript の追加
この質問は関連しています
Django: Javascript をカスタム ウィジェットに追加する最良の方法
しかし、同じではありません。
元の質問は、カスタム django ウィジェットにサポートする JavaScript を追加する方法を尋ねており、答えは を使用することforms.Media
ですが、その解決策は私にはうまくいきません。私の例はこれです:
ウィジェットは、フォームにレンダリングされると、(おもちゃの例) 次のような行を作成します。
ここで、出力に追加したいのは、次のような別の行です。
最初のアイデアは、ウィジェットがレンダリングされるときに と の両方がレンダリングされるというものですがdiv
、script
それは機能しません。問題は、html
ドキュメントの構造が次のようになっていることです。
ウィジェットの JavaScript コードがブラウザーに読み込まれる時点では、jQuery および datetimepicker js ファイルはまだ読み込まれていません (ドキュメントの最後に読み込まれます)。
を使用してこれを行うことはできませんMedia
。生成するオプションと ID は関数にとって不可欠であるためです。これを解決する最善の方法は何ですか?
python - HDF5 (HDF Store) を Django モデル フィールドに格納する方法
私は現在、分析の結果として pandas DataFrames を生成するプロジェクトに取り組んでいます。私は Django で開発しており、「結果」モデルの「データ」フィールドを使用して pandas DataFrame を保存したいと考えています。
HDF5(HDF Store) は、私の pandas DataFrames を格納する最も効率的な方法のようです。ただし、モデルにカスタム フィールドを作成して保存する方法がわかりません。説明のために、簡略化した views.py と models.py を以下に示します。
models.py
ビュー.py
また、Django で使用できるのであれば、同様のパフォーマンスを持つ Pickle などの別の保存方法も受け入れます。