Django: Добавьте условие свойства для другого свойства
Для одного свойства я не могу отфильтровать Queryset с другим свойством. Я хочу, чтобы если "отец" имеет "Star" в "True", "star_descendant" возвращал "отца".
У меня такая ошибка: Exception Value: 'QuerySet' object has no attribute 'star'. Как это исправить?
Мой код :
@property
def star(self):
if Evenements.objects.filter(eventtype=93).filter(xrefindividuproprio=self):
return True
return False
@property
def star_descendant(self):
father = Individus.objects.filter(codeid=self.xrefpere_id)
mother = Individus.objects.filter(codeid=self.xrefmere_id)
if father.star == True:
return father
В вашей функции "отец" и "мать" являются кверисетами. "Звезда" - это свойство объекта. Вы должны получить объект. У кверисета нет атрибута "звезда".
if Individus.objects.filter(codeid=self.xrefpere_id).count() > 0:
father = Individus.objects.filter(codeid=self.xrefpere_id).first()
if father.star == True:
return father