Я разрабатываю приложение для портфолио. В этом приложении у меня есть модель под названием «Проект», которая выглядит примерно так:
class Project(models.Model):
...
images = models.ManyToManyField(Image)
...
так что, по сути, этот проект может содержать набор изображений (любое из этих изображений может также принадлежать другому проекту).
Теперь я хотел бы добавить способ указать, что одно из этих «изображений» является «lead_image».
Так что я мог бы добавить что-то вроде этого:
class Project(models.Model):
...
images = models.ManyToManyField(Image, related_name='images')
lead_image = models.ForeignKey(Image, related_name='lead_image')
...
Однако проблема в том, что в этом случае lead_image может быть ЛЮБОЙ картинкой. Что я действительно хочу, так это чтобы оно было одним из «изображений», принадлежащих этому экземпляру модели.
Я думаю, что мне нужно использовать аргумент "ForeignKey.limit_choices_to", но я не уверен, как его использовать ... тем более, что когда экземпляр модели создается впервые, изображений еще не будет в каталоге "images".
Любая помощь будет очень востребована.
Doug