Django models Django管理界面中的排他键或外键

Django models Django管理界面中的排他键或外键,django-models,django-admin,foreign-keys,Django Models,Django Admin,Foreign Keys,在Django中,有没有一种方法可以强制管理员用户选择填充几个外键中的一个而不是多个 我有一个类似这样的模型: class URL(models.Model): ... links = models.URLField(_('Google Links'),verify_exists=True,unique=True) project = models.ForeignKey(Project,blank=True,null=True) category = models

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

我有一个类似这样的模型:

class 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) ... 类URL(models.Model): ... links=models.URLField(u('googlelinks'),验证_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) ... 我希望管理员用户选择Foreignkeys项目、类别或个人之一。 或者我应该以不同的方式组织模型吗?

只是一些想法

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

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

只是一些想法

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


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

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

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