Tengo este error ImportError: cannot import name 'Maca' from partially initialized module 'maca.models' (most likely due to a circular import) .
tengo un código como este
from maca.models import Maca class Maca2(models.Model) maca = models.ForeignKey( Maca, on_delete=models.CASCADE )Ahora, para modelar "Maca", estoy tratando de acceder a todos los objetos "Maca2" como este
from maca2.models import Maca2 class Maca(models.Model) ... @property maca_has_maca2(self) maca2 = Maca2.objects.filter(maca=self.id)¿Puedes ayudarme a manejar esto?
Puedes importar el Maca2 en la propiedad maca_has_maca2 :
# no import of maca2.models class Maca(models.Model): # … @property def maca_has_maca2(self): from maca2.models import Maca2 maca2 = Maca2.objects.all() Para ForeignKey s, OneToOneField s y ManyToManyField s, puede utilizar un literal de cadena con la estructura ' app_name . ModelName ' para referirse a un modelo, por ejemplo:
# no import of maca2.models class Maca(models.Model): maca2 = models.ForeignKey( 'maca2.Maca2' , on_delete=models.CASCADE ) Esto evita importar módulos y, por lo tanto, importaciones circulares. Si el modelo tiene el mismo app_name , puede hacer referencia a esto mediante 'ModelName' .