2016-11-11 8 views
2

私はDjangoを学んでいます。私は自分のタスクのモデルを作成してユーザに割り当てる方法を考え出しましたが、私はサブリストここでDjango Nest To Doリスト

の下にサブリストのリスト)私のモデルである:

class task(models.Model): 

name = models.CharField(max_length=100) 

notes = models.TextField() 

created = models.DateTimeField() 

created_by = models.ForeignKey(User) 

リストのリストのリストを実装するための最良の方法は何ですか...?

答えて

0

私はこれがあなたが必要と考えるものです。まず、あなたのサブリストとSubSubListモデルを作成します。

class SubList(models.Model): 
    task = models.ForeignKey(Task) 
    # other fields here 

class SubSubList(models.Model): 
    sublist = models.ForeignKey(SubList) 
    # other fields here 

を次に、あなたはタスクインスタンスを持っており、それに接続されているサブリストのすべてのインスタンスを見つけたいと言うことができます。

task = Task.objects.get(#whatever field you want to lookup by) 
sublists = task.sublist_set.all() 

この同じ機能を実現するには他にも方法がありますが、これは実装にとってはうまくいくはずです。

あなたの質問にお答えしましたか?

+0

Okay、nvm。私は今あなたの編集を見る。 – TanyaG

+0

今はっきりしていますか?必要に応じてManyToManyFieldを使用することもできます。 https://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_many/ –

+0

そうだと思います。私は、サブタスク - >タスクとサブ - サブタスク - >サブタスク(3レベルのタスクが必要な場合)のための外部キーを持つモデルを作成する必要があります。右? – TanyaG