2012-01-22 10 views
1

ユーザプロファイルに設定されたユーザのスキルを格納する複数値フィールドを作成します。特定のユーザは、複数のスキルを持ち、同じ特定のスキルを持つ多くのユーザがいる可能性があります。は、私は、ユーザーが自分のスキルセットを入力したいジャンゴでのユーザープロファイルを、構築していジャンゴ

私の限られた理解から得ることができる限り、それはuserprofileskillsの間のManyToManyフィールドですが、ユーザーが望むように多くのスキルを追加できるようにしたいと考えています。私は1つは、現在のテーブルに存在しない場合、ユーザーは、新しいスキルを作成できるようにしたいものに加えて

。私はオートコンプリートウィジェットをプラグインしたいと思っています。

どうすればいいですか?私はまだオートコンプリートの部分を行うことができますが、新しいスキルを追加する方法を理解することができず、それらをユーザーにリンクしています。それはSkillモデルを作成しますSO

答えて

2

tagfieldと非常によく似ています。モデルは、テーブル内のすべての行が特定のスキルであるデータベース内のテーブルを表します。各スキルはnameフィールドで記述されます。次に、ManyToManyフィールドであなたの人にリンクします。あなたは、あなたが管理者を使用している場合は、人/ USERPROFILEは今、既存のスキルを選択することができ、または管理インターフェイスを介して新しいスキルを作成します「一人一人が持つことができるゼロ以上のスキル」という

class Skill(models.Model): 
    name = models.CharField(max_length=50) 

class Person(models.Model): 
    skills = models.ManyToManyField(Skill, blank=True, null=True) 

を言っています。管理インターフェースを使用していない場合、この質問の範囲外にあるより多くのステップが必要になります。

+0

回答ありがとうございますが、私は管理者インターフェイスにのみ関心がなく、この機能をウェブサイトのすべてのユーザーに提供したいと考えています。別の質問として投稿する必要がありますか? – Sachin

+0

上記は、オブジェクト間の関係、つまり実際の機能を作成する必要があるデータモデルの概要を示しています。これは、データを表現する 'form'(またはフォーム)を作成し、これらのフォームを作成して処理するための' view'と、すべてをユーザーに表示して送信させるためのテンプレートを作成することによって行われます。これは、djangoに組み込まれている管理者があなたのために必要とするすべての機能です。 –

+0

ああ、助けてくれてありがとう – Sachin

関連する問題