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.
Есть ли хороший способ усреднить два столбца на стороне базы данных?