Je développe une application de portefeuille. Au sein de cette application, j'ai un modèle appelé « Projet », qui ressemble à ceci:Limitation de la portée d'une relation ForeignKey?
class Project(models.Model):
...
images = models.ManyToManyField(Image)
...
donc, au fond, ce projet peut contenir un ensemble d'images (l'une de ces images peuvent appartenir à un autre projet aussi) . Maintenant, ce que je voudrais ajouter est une façon de spécifier qu'une de ces "images" est une "image_principale".
Je pourrais ajouter quelque chose comme ceci:
class Project(models.Model):
...
images = models.ManyToManyField(Image, related_name='images')
lead_image = models.ForeignKey(Image, related_name='lead_image')
...
Cependant, le problème est que dans ce cas, lead_image peut être toute image. Ce que je veux vraiment, c'est que ce soit l'une des "images" qui appartiennent à cette instance de modèle. Je pense que j'ai besoin d'utiliser l'argument "ForeignKey.limit_choices_to", mais je ne suis pas sûr de savoir comment l'utiliser ... d'autant plus que quand l'instance du modèle est créée, il n'y en aura pas encore images dans le répertoire "images".
Toute aide serait grandement appréciée.
Doug
Intéressant. Je vais essayer ça. –