Связь между двумя строками одной таблицы Django
У меня есть модель Task
name = models.CharField(max_length=63, name="name", help_text="Название")
description = models.TextField(max_length=255, name="description", help_text="Описание")
calendar = models.ForeignKey(Calendar, on_delete=models.CASCADE)
author = models.CharField(max_length=63, name='author', help_text='Автор', default="Anonymous")
date_time = models.DateTimeField(name="date_time")
inheritanced = models.ForeignKey(Task, on_delete=models.CASCADE)
Так же две задачи могут наследоваться друг из друга, поэтому я должен сохранить id той задачи из которой эта наследуется (так же там может null). Но код приведенный сверху не работает, так как:
- Он не может принимать значение null
- В строчке
models.ForeignKey(Task, on_delete=models.CASCADE)есть ошибка, так как класс Task еще не определен (Unresolved reference 'Task' )
Ответы (1 шт):
Автор решения: fsd amp
→ Ссылка
inheritanced = models.ForeignKey('self', releared_name='children', on_delete=models.CASCADE, null=True, blank=True)
В таком случае ты сможешь обращаться как к корневым объектам, так и вложенным. Но я советую использовать библиотеку django-mptt