¿Cómo puede hacer que el administrador de una prohibición ForeignKey ('self') se refiera a sí mismo?
Tengo un modelo con una clave de falsificación para sí mismo. Por ejemplo:
class Folder(models.Model):
name = models.CharField()
parent_folder = models.ForeignKey('self', null=True, blank=True, default=None, on_delete=models.CASCADE)
Para mis propósitos, nunca quieroparent_folder
para referirse a sí mismo, pero la interfaz de administración predeterminada para este modelo permite al usuario elegir su propia instancia. ¿Cómo puedo evitar que eso suceda?
Editar: Si está intentando hacer un diseño de árbol jerárquico, como yo, otra cosa que debe tener en cuenta son las relaciones circulares entre padres. (Por ejemplo, el padre de A es B, el padre de B es C y el padre de C es A.) Evitar eso no es parte de esta pregunta, pero pensé que lo mencionaría como un consejo.