我有以下Django模型:
class League(models.Model):
class Division(models.Model):
league = models.ForeignKey(League)
class Season(models.Model):
league = models.ForeignKey(League)
divisions = models.ManyToManyField(Division)
是否可以在Season.divisions上使用ManyToManyField.limit_choices_to要求仅当赛季和分区具有相同的联赛价值时才能关联?
根据django documentation,limit_choices_to
为该字段设置一个限制,当此字段可用时 使用ModelForm或admin呈现(默认情况下, 查询集可供选择)。无论是字典,还是Q 对象,或者可以使用返回字典或Q对象的可调用对象。
是否有某种方法可以使用Q()并使用对当前Season记录的引用?由于未定义self,因此以下内容无法正常工作,但也许可以通过某种方式指定类似内容:
divisions = models.ManyToManyField(Division, limit_choices_to=Q( league = self.league )