2016-11-11 2 views
2

Я изучаю Django, и я выяснил, как создать модель для моей задачи и назначить ее пользователю, но я не понимаю, как у меня могут быть под-списки (и суб- списки подсписков) подDjango Nested To Do List

Вот моя модель:

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 = Task.objects.get(#whatever field you want to lookup by) 
sublists = task.sublist_set.all() 

Есть и другие способы достижения этой же функциональности, но это должно быть хорошо для вашей реализации.

Это ответ на ваш вопрос?

+0

ОК, nvm. Теперь я вижу ваше редактирование. – TanyaG

+0

Итак, теперь понятно? Вы также можете использовать ManyToManyField, если вам нужно. https://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_many/ –

+0

Думаю, что да. Я должен создать модель с внешним ключом для подзадачи -> задача, а затем подзадачу -> подзадачу (если мне нужны 3 уровня задач). Правильно? – TanyaG