使用Django管理员时遇到问题。我正在构建一个小型的ScrumBoard。它有项目,状态,故事和任务。如何将选项限制在Django中的外键管理员
考虑以下模型:
@python_2_unicode_compatible
class Project(models.Model):
name = models.CharField(max_length=100)
class Meta:
verbose_name = _('Project')
verbose_name_plural = _('Projects')
def __str__(self):
return self.name
@python_2_unicode_compatible
class Status(models.Model):
name = models.CharField(max_length=64) # e.g. Todo, In progress, Testing Done
project = models.ForeignKey(Project)
class Meta:
verbose_name = _('Status')
verbose_name_plural = _('Statuses')
def __str__(self):
return self.name
@python_2_unicode_compatible
class Story(models.Model):
"""Unit of work to be done for the sprint. Can consist out of smaller tasks"""
project = models.ForeignKey(Project)
name=models.CharField(max_length=200)
description=models.TextField()
status = models.ForeignKey(Status)
class Meta:
verbose_name = _('Story')
verbose_name_plural = _('Stories')
# represent a story with it's title
def __str__(self):
return self.name
的问题:当一个管理员用户创建了一个故事,他会看到所有的项目,而不是从一个项目的状态状态。
这是正常的,即使你自定义您的管理,对创作,你无法猜测什么状态必须列出 – christophe31 2015-03-19 11:02:59
我明白这个问题:没有办法预先选择项目(例如在查询字符串或通过http post),然后显示状态表单的其余部分,而无法选择另一个项目。 – acidjunk 2015-03-19 16:27:35
通过自定义管理模型表单,您可以在创建后(修改时)使用子集。 – christophe31 2015-03-19 17:37:27