【问题标题】:Exclusive Or ForeignKey in Django admin interfaceDjango 管理界面中的 Exclusive 或 ForeignKey
【发布时间】:2011-01-15 17:10:04
【问题描述】:

在 Django 中,有没有一种方法可以强制管理员用户选择填充几个 ForeignKey 中的一个,而不是超过一个?

我有一个类似的模型:

类 URL(models.Model):
    ...
    links = models.URLField(_('Google Links'),verify_exists=True,unique=True)
    project = models.ForeignKey(Project,blank=True,null=True)
    category = models.ForeignKey(Category,blank=True,null=True)
    person = models.ForeignKey(ExternalPerson,blank=True,null=True)
    ...

我希望管理员用户选择外键项目、类别或人员之一。 或者我应该以不同的方式组织模型?

【问题讨论】:

    标签: django-models django-admin foreign-keys


    【解决方案1】:

    我所做的是拥有一个指向基本模型的单个外键,所有其他模型(Google 链接、项目等)都从该模型继承。这似乎在保持关系的同时将外键限制为单一选择。

    【讨论】:

      【解决方案2】:

      只是一些想法......

      我不知道您以后想对这些对象做什么,但是您是否考虑为所有对象创建一个通用接口?它可以解决您的问题...

      如果界面不适合你,也许你可以创建一个表单来检查是否只选择了一个外键。

      【讨论】:

        猜你喜欢
        • 2016-12-20
        • 1970-01-01
        • 2013-04-10
        • 2016-05-08
        • 2015-06-11
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        • 1970-01-01
        相关资源
        最近更新 更多