おはようみんな! シナリオは次のとおりです。 Djangoの一部のモデルでは、エンドユーザーが自分のフィールドを定義できるようにしたいと考えています。私がDjangoの素晴らしい機能をORMのように保つことができれば素晴らしいと思いますので、field__gteのような呼び出しをしてモデルを検索したり、フィールドのタイプに応じてフィールドの検証をしたりできます。これは私が新しい提案をするために開いている以上のものです。どんなフィードバックも非常に高く評価されます。
第1のアプローチは、Djangoは既にのためのアプリケーションを有するエンティティ属性値(http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)、です。 http://code.google.com/p/django-custom-field/ を参照してください。これは問題ありませんが、私は "mymodel.objects.filter(custom_field_x = something)"を行う能力を失います。 ORMやアイデアを取り戻す方法はありますか?しかし、私はこの方法について多くの悪い話を聞いたことがあります。
2番目の方法は、各ユーザーにデータベーステーブルを用意することです(おそらく1000を超えないようにする)。私はdjangoがinspectdbの行に何かを持っていると読んでいます。inspectdbは、実際にフィールドが存在するかどうかをチェックし、モデルを生成します。これは役に立つかもしれませんが、おそらく私はこの特定のユーザが作成したフィールドを格納し、何とかdinamically djangoに伝えるべきだと思います。ちょっと、私たちもこのモデルにこのフィールドを持っています。これは可能ですか?私はそれは一般的に各ユーザーごとに異なるテーブルを持つことは悪いことがわかっていますが、このシナリオを考えると、どのようにあなたはこのメソッドを評価するでしょう、それは各ユーザーごとに1つのテーブルを持っているでしょうか?
カスタムフィールドを必要とするモデルは、たとえばPersonです。彼らはアドレス、血液型、またはその他のものを格納するためのカスタムフィールドが必要な場合があります。
あらかじめご了承ください!良い日曜日を!
非常によく似ています:How to create user defined fields in Django - 私は避けたいEAVについてのみ話します。私は新しいアイデアのために開いている!
発見された最良の参照行うことができます。申し訳ありませんが、私の質問は、その1の複製であるhttp://stackoverflow.com/questions/7933596/django-dynamic-model-fields を。モッズは、それを閉じて自由に感じる。 – Clash