Django custom models.Manager queryset field undefined
Я реализую мягкое удаление для класса Animal. Следуя примеру в docs я создал для него пользовательский менеджер, но поле запроса, 'Inactive_Date' не определено. Я пробовал поместить def класса AnimalManager внутрь def класса Animal; не помогло.
Код из models.py:
class AnimalManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(Inactive_Date == None)
class Animal(models.Model):
Name = models.CharField(max_length=64, unique=True)
Inactive_Date = models.DateField(null=True, blank=True)
Animal_Type = models.ForeignKey(Animal_Type, null=True, on_delete=models.SET_NULL, default=None)
Comments = models.CharField(max_length=255, blank=True)
def __str__(self) -> str:
return (self.Name)
def delete(self):
self.Inactive_Date = datetime.datetime.today()
self.save()
objects = AnimalManager() # omits inactive animals
Похоже, что у вас двойной знак equal
на фильтрации
return super().get_queryset().filter(Inactive_Date == None)
^^
Но независимо от этого, проверка на значение NULL может быть выполнена через __isnull
return super().get_queryset().filter(Inactive_Date__isnull=True)