Django annotate average multiple columns

У меня есть модель, которая имеет много-много полей в одной модели

class Project(models.Model):
    owner = models.ManyToManyField(User, related_name="owner_projects", blank=True)
    editor = models.ManyToManyField(User, related_name="editor_projects", blank=True)
    price = models.FloatField()

Итак, я хочу вернуть среднюю цену пользователя, не зная, является ли он владельцем или редактором

user_qs = User.objects.all().annotate(
    average_price = Avg(F('owner_projects') + F('editor_projects'))
)

Проблема в том, что когда одно из отношений пустое, вся 'average_price' возвращается как null.

Есть ли хороший способ усреднить два столбца на стороне базы данных?

Вернуться на верх