私はすべてのユーザーの性別(男性/女性)を表す必要があるDjangoアプリケーションを構築しています。単一のユーザーは、男性、女性、またはその両方に関心があることを選択できます。このデータは、類似点を見つけるために他のユーザーとの相互参照に使用されます。性別のためのManytoManyFieldははっきりと機能しますが、性別は2つのオプションしか持たないかなり静的なフィールドなので、これを実装する良い方法はありますか?いくつかの種類のマルチセレクションが可能な分野はありますか?それはm2m分野のデータベースの聞き取りを必要としませんか?スタティック/ハードコーディングされたデータのManytoManyFieldの代替?
0
A
答えて
2
を使用可能な値を制限することができます - ダブルアンダースコア記法のトンと時間をかけて照会し、高価で単なる難しくなりますこと。静的なものについては、具体的にはchoices
が必要です。私は長年にわたって学んできた多くの有益なコーディング手法の
一つは、彼が選択使用方法ジェームズBennetsのブログからアイデアです:
class MyObject(models.Model):
MALE = 0
FEMALE = 1
ROBOT = 2
MY_CHOICES = [
(MALE, 'Male'),
(FEMALE, 'Female'),
(ROBOT, 'Robot'),
]
gender = models.IntegerField(choices=MY_CHOICES)
MyObject.objects.filter(gender=MyObject.ROBOT)
:基本的に
http://www.b-list.org/weblog/2007/nov/02/handle-choices-right-way/
を、聞かせてあなたがこれを行うことができます答えは
0
あなたは、文字列または整数を格納し、間違いなく離れM2Mから敬遠choices
+1
また、2つのブール値フィールドを使用することもできます。男性と女性の関心です。よりユーザーフレンドリーなフォームチューニングを少ししているかもしれませんが、DBの観点からはより意味をなさないと思います。 –
関連する問題
- 1. ネストされたインターフェイスの代替
- 2. JUnitテストメソッドのパラメータ化された代替
- 3. スケジュールされたタスクPHPの代替
- 4. kotlinのパッケージプロテクトされた代替
- 5. 代替データOleDBDataAdapter
- 6. DataTableの代替データ構造
- 7. CUDAグローバル・スタティック・データの代替?
- 8. pipインストールされたモジュールと代替パス
- 9. 代替候補/類似ソフトウェア推奨される代替ソフトウェア
- 10. フェザーJSネストされたルーティングまたは代替サービスの作成
- 11. データ構造の代替リストのリストC#
- 12. ManyToManyFieldのverbose_nameが表示されない
- 13. 暗号化されたファイルコンテナのDotNetZipLibの代替品
- 14. AWS Athenaのネストされたクエリの代替方法
- 15. テンプレート内の指定されたモデルのManyToManyField属性を表示
- 16. 管理されたEWS - 代替でのポスト
- 17. 廃止された__proto__の代替手段
- 18. オーバーロードされたメソッドの値+代替方法
- 19. のfile_get_contentsまたは代替
- 20. iOSアプリケーションのホストされたデータにアクセスするためのRESTの代替手段はありますか?
- 21. ajaxリフレッシュの代替コンポーネント代替
- 22. のNoSQL FREE代替(代替ravendbする)
- 23. のManyToManyField
- 24. Akka Kafka Producersettings:オーバーロードされたメソッドの値が代替で適用されます。
- 25. python re - 代替代替パターン
- 26. hadoopに配布される代替語
- 27. mPDFのネストされたdivを配置するためのCSS代替
- 28. Djangoで並べ替えのManyToManyFieldをカスタマイズする
- 29. ストアドプロシージャの代替
- 30. SlickUploadの代替
で、「選択肢」はあなたが望むものです。しかし実際には '選択肢'は 'ForeignKey'の代わりに働くだけです。もしその人が男性と女性の両方であれば? – Jayen