这个问题困扰了我一阵子,我似乎找不到任何有关如何实现它的资源。我正在使用最新的Django版本。
这个问题很简单。假设我们有一个看起来像这样的模型:
class Environment(models.Model):
name = models.CharField(max_length=64)
organization = models.CharField(choices=UsdDBActions().get_organizations())
configuration = models.CharField(choices=UsdDBActions().get_configurations())
def __str__(self):
return f'{self.name}'
以上选择实际上是将organizations
和configurations
作为元组列表返回的选择。例如查询:
SELECT
id,
organization
FROM some_table
SELECT
id,
configuration
FROM some_other_table
然后在管理员中注册它:
class EnvironmentAdmin(admin.ModelAdmin):
list_display = (
'name',
'configuration',
'organization',
)
admin.site.register(Environment, EnvironmentAdmin)
当用户选择一个组织时,我希望配置字段预先填充属于该组织的配置。问题在于organizations
和configurations
是外部数据库中的两个不同的表,因此我不会弄乱数据库的设置。
关于如何实现此目标的任何想法?