【问题标题】:Replace 'add new' with 'select existing' for an object on the admin page in Django将 Django 管理页面上对象的“添加新”替换为“选择现有”
【发布时间】:2011-08-19 18:24:00
【问题描述】:

我认为这很简单,但我是 Django 新手,找不到任何符合我的问题。

这是我的模型--

class Team:
    # attributes for team

class Driver:
    # attributes for driver
    team = foreign_key(Team, blank=True, null=True)

现在每支车队必须有三名车手,有些车手不属于任何车队。在管理面板中,当我创建一个新团队时,我只能获得“添加新驱动程序”,然后您填写驱动程序详细信息。相反,我希望将其替换为系统中已经存在但还没有团队的驱动程序的下拉框。

我知道我必须在某处使用 Driver.objects.filter(team__isnull=True) ......但究竟在哪里阻碍了我。我阅读了有关创建自己的表单的信息,但不确定如何继续。任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: python django django-admin admin


    【解决方案1】:

    我认为以下内容可以让您实现您想要的。您也可以使用它来限制附加到团队的 Driver 对象的数量。

    我还会确保在 Driver save 方法中检查团队中 Driver 对象的数量;这将确保如果您从 Driver 管理页面将 Driver 对象添加到 Team(即创建 Driver 对象并在那里为其选择 Team),您不会将太多 Driver 对象附加到 Team。

    http://docs.djangoproject.com/en/1.3/ref/contrib/admin/#inlinemodeladmin-objects

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 2012-04-12
      • 2010-10-26
      • 2022-12-09
      • 2017-01-21
      • 2021-05-08
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多