, , . for, , . photos " ", ProductPhoto, objects ( ).
live, objects, objects , .. : ProductPhoto.objects.all(). , , Django objects.
, , live , , :
{% for photo in product.photos.all %}
"" . , , , (, admin). "" .
, :
class ProductPhoto(models.Model):
product = models.ForeignKey('Product', related_name='photos')
is_live = models.IntegerField(choices=LIVE_CHOICES, default=1)
objects = models.Manager()
live = LiveManager()
, objects , , . , live . , - "" :
class ProductPhotoQuerySet(models.query.QuerySet):
def live(self):
return self.filter(is_live=1)
class ProductPhotoManager(models.Manager):
use_for_related_fields = True
def get_query_set(self):
return ProductPhotoQuerySet(self.model)
def live(self, *args, **kwargs):
return self.get_query_set().live(*args, **kwargs)
QuerySet Manager. live , . , , ProductPhoto.objects.live().filter(...), ProductPhoto.objects.filter(...).live().
, objects ( Django):
class ProductPhoto(models.Model):
product = models.ForeignKey('Product', related_name='photos')
is_live = models.IntegerField(choices=LIVE_CHOICES, default=1)
objects = ProductPhotoManager()
, , :
{% for photo in product.photos.live %}