Я использую django 1.2. У меня есть две модели.
РЕДАКТИРОВАТЬ: я только что нашел лучший пример:
class Parent(models.Model):
name = models.CharField(max_length=255)
favorite_child = models.ForeignKey(Child)
class Child(models.Model):
name = models.CharField(max_length=255)
myparent = models.ForeignKey(Parent)
в этом примере я хотел быбыть в состоянии выбрать любимого ребенка, но проблема в том, что администратор предоставит мне всех детей на выбор, а не только тех, которые являются детьми того родителя, которого я сейчас редактирую.
ОРИГИНАЛПРИМЕР:
class Version(models.Model):
name = models.CharField(max_length = 255)
platform = models.ForeignKey("Platform",related_name='version_platform')
class Platform(models.Model):
name = models.CharField(max_length = 255)
default_version = models.ForeignKey(Version,related_name='platform_default_version')
я хочу, чтобы администратор django ограничивал раскрывающийся список при выборе default_version, чтобы я мог выбирать только те версии, которые имеют текущую платформу.
, напримересли у меня есть версия с именем '1.1', которая имеет платформу joomla, и версию '1.2', в которой в качестве платформы используется wordpress.
поэтому, когда я выберу раскрывающийся список default_version в админке для wordpress, я хочу, чтобы показывал только мне версия '1.2' в выпадающем списке.теперь он показывает мне все версии.
я пытаюсь ограничить limit_choices_to, как показано здесь , поэтому я пробую это:
class Platform(models.Model):
name = models.CharField(max_length = 255)
default_version = models.ForeignKey(Version,limit_choices_to={'platform':XXXXX},related_name='platform_default_version')
, но я потерянчто поставить insted из XXXX я пытаюсь поставить себя, но это не сработало.
я также пытался
limit_choices_to={'platform.name':name}
я тоже не работал.
в этом примере я быхотелось бы иметь возможность выбирать любимого ребенка, но проблема в том, что администратор предоставит мне всех детей на выбор, а не только тех, которые являются детьми того родителя, которого я сейчас редактирую.