我正在开发一个投资组合应用程序。在这个应用程序中,我有一个名为“Project”的模型,它看起来像这样:
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”参数,但我不确定如何使用它......特别是因为当模型实例首次创建时,“图片”目录。
任何帮助都会非常受欢迎。
道格