Скажем, у меня есть три модели, подобные этим:
class Message(models.Model):
text = models.TextField()
img = models.ForeignKey('Image')
class Image(models.Model):
deleted = models.BooleanField()
url = models.URLField()
msg = models.ForeignKey('Message')
class Tag(models.Model):
deleted = models.BooleanField()
name = models.CharField(max_length=10)
msg = models.ForeignKey('Message')
При сериализации Message
мне нужно, чтобы tag
s и url
s не были удалены, что означает, что поле deleted
равно False
. Я надеюсь, что настроенный SlugField должен работать так:
class ValidSlugField(serializers.SlugRelatedField):
def __init__(self, *args, **kwargs):
super(ValidSlugField, self).__init__(*args, **kwargs)
def get_queryset(self):
return super(ValidSlugField, self).get_queryset().filter(deleted=False)
Но get_queryset
выдал ошибку. Можно ли создать «общее проверенное» поле, подобное этому?