以下是用于创意写作应用程序的。所有方面(角色,场景,项目等)都记录在同一模型中,以提供简单的侧边栏目录。每个扩展模型都有添加特定字段的扩展模型,因此,在侧栏中选择元素时,扩展模型将作为右侧的表单加载。 为清晰起见,排除了扩展模型附加字段和Universe模型。
问题是,我真的很想限制特定的ManytoMany字段上的选择。
MODELS.PY
user_information <only 1 record>
current_universe <will be changed through a signal depending on the universe loaded>
elements_type
name <e.g. ID 1 = character, ID 2 = project, ID 3 = scene, ID 4 = draft>
elements
name = models.CharField(max_length=100)
elements_type = models.ForeignKey(elements_type, on_delete=models.CASCADE)
universe = models.PositiveSmallIntegerField() <default value will be set automatically to match current_universe>
parent_ID models.ForeignKey('self', on_delete=models.CASCADE) <if the element is a scene, this will identify its draft; likewise with a draft and its project>
extension_projects
name
elements_id = models.ForeignKey(elements, on_delete=models.CASCADE)
characters = models.ManyToManyField(elements, limit_choices_to={'elements_type': 1, 'universe': ? User_information’s current_universe – record 1}) <don't know how to do this at the moment but that's not part of the question>
extension_drafts
name
elements_id
extension_scenes
name
elements_id
characters = models.ManyToManyField(elements, limit_choices_to={'elements_type': 1, < ? elements with the same project as this scene’s 1) element’s 2) parent ID’s 3) parent ID > })
我需要extensions_scenes模型中的字符选择列表,以便仅向我显示与与extension_scene的项目相同的项目相关联的字符。
因此应用程序必须-首先确定该extension_scene记录的项目:
然后将此字符列表限制为:
谢谢您的帮助
以下是用于创意写作应用程序的。所有方面(角色,场景,项目等)都记录在同一模型中,以提供简单的侧边栏目录。每个都有要添加的扩展模型...
所以应用程序必须-首先确定该extension_scene记录的项目: