Задать вопрос

Как проверить наличие рекурсивной связи ForeignKey в модели?

Модель привязывается сама к себе через FK - поле, которое является опциональным, как проверить есть ли такая связь у экземпляра или нет?
Проверку пытался реализовать через метод check_child, но он всегда возвращает True
Модель:
class Category(models.Model):
    LEVELS = [(i, str(i)) for i in range(1, 4)]
    name = models.CharField(verbose_name='Название', max_length=160, unique=True)
    parent = models.ForeignKey('self', related_name='child', null=True, blank=True)
    title = models.CharField(verbose_name='Заголовок', max_length=260)
    slug = models.SlugField(verbose_name='ЧПУ', max_length=60, unique=True, allow_unicode=True)
    level = models.IntegerField(verbose_name='Уровень', choices=LEVELS)

    def check_child(self):
        if not self.child is None:
            return True
        return False
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы