Para agregar al nombre relacionado con la respuesta existente es imprescindible en caso de que haya 2 FK en el modelo que apuntan a la misma tabla. Por ejemplo en el caso de Bill de material
@with_author
class BOM(models.Model):
name = models.CharField(max_length=200,null=True, blank=True)
description = models.TextField(null=True, blank=True)
tomaterial = models.ForeignKey(Material, related_name = 'tomaterial')
frommaterial = models.ForeignKey(Material, related_name = 'frommaterial')
creation_time = models.DateTimeField(auto_now_add=True, blank=True)
quantity = models.DecimalField(max_digits=19, decimal_places=10)
Así que cuando usted tendrá que acceder a estos datos sólo se puede utilizar el nombre relacionado
bom = material.tomaterial.all().order_by('-creation_time')
No está funcionando de otra manera (al menos yo no era capaz omitir el uso del nombre relacionado en caso de 2 FK en la misma tabla.)
@DanielRoseman ¿Es de alguna manera bueno para el rendimiento o las buenas prácticas usar related_name = '+' cuando la relación hacia atrás no es necesaria? – lajarre
Me gustaría saber la respuesta a la pregunta de @ lajarre. – 3cheesewheel
@lajarre - Supongo que no cambiará el rendimiento en absoluto. Tuve que usarlo una vez con los tipos de contenido de FeinCMS. Personalmente, creo que es una buena práctica especificar siempre el 'related_name' así que si sabes que no lo usarás, supongo que es algo bueno. Esa es una opinión personal, por supuesto. –