Factory-метод модели Django

Никак не мог придумать, как озаглавить статью). Просто есть две вещи, которые хотел упомянуть.

Создаём метод класса, возвращающий модели класса, который может вернуть и только указанные поля всех удовлетворяющих условиям моделей.

from django.db import models
from django.contrib.auth.models import User
from django.db.models import Q

class Exercise( models.Model ):
	name = models.CharField( max_length = 255 )
	is_paired = models.BooleanField( default = False )
	user = models.ForeignKey( User, blank = True, null = True )

	@classmethod
	def getExercisesForUser(cls, User, Fields = ()):
		query = cls.objects.filter(Q(user = None) | Q(user = User))
		if Fields:
			query = query.only(*Fields)
		return query

Здесь нужно выделить два важных момента:

2 комментария so far.

  1. janitor:
    Не вижу даты публикации, но все же прокоментирую ) В методы, возвращающие queryset принято оформлять в виде методов менеджера модели — objects

LEAVE A COMMENT