У меня есть следующие модели 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)
Можно ли использовать ManyToManyField.limit_choices_to для Season.divisions, чтобы требовать, чтобы сезон и деление могли быть связаны, только если они имеют одинаковыезначение лиги?
Согласно документации django , limit_choices_to
Устанавливает ограничение на доступные варианты выбора для этого поля, когда это поле отображается с использованиемModelForm или администратор (по умолчанию все объекты в наборе запросов доступны для выбора).Можно использовать словарь, объект Q или вызываемый объект, возвращающий словарь или объект Q.
Есть ли способ использовать Q () и использовать ссылку на текущую запись сезона?Что-то вроде следующего не работает, потому что self не определено, но, возможно, есть какой-то способ указать нечто подобное:
divisions = models.ManyToManyField(Division, limit_choices_to=Q( league = self.league )