【发布时间】:2021-06-09 09:52:00
【问题描述】:
我有模型:
class DeepLink(models.Model):
class DeepLinkType(models.TextChoices):
TRACING = ('Tracing', 'Tracing')
BUTTON = ('Button', 'Button')
MODAL = ('Modal', 'Modal')
id = models.UUIDField(primary_key=True, default=uuid4)
type = models.CharField(max_length=7, choices=DeepLinkType.choices, blank=False)
uri = models.UUIDField(blank=False, default=uuid4)
class Meta:
db_table = 'deeplink'
class Button(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4)
text = models.CharField(max_length=500, blank=False)
link = models.CharField(max_length=250, blank=False)
image = models.CharField(max_length=250, blank=True)
class Meta:
db_table = 'button'
class Modal(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4)
image = models.CharField(max_length=250, blank=True)
header = models.CharField(max_length=250, blank=True)
body = models.CharField(max_length=250, blank=True)
class Meta:
db_table = 'modal'
class Tracing(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4)
external = models.BooleanField(blank=True, default=False)
external_link = models.CharField(max_length=250, blank=True)
class Meta:
db_table = 'tracing'
我需要在 Django Admin 中为字段 uri 提供一个下拉列表,具体取决于 type 已选择。例如,如果我们选择type 作为Button,则uri 字段应该是所有可能按钮等的下拉列表。
显然我不能将uri 声明为外键,因为它可以引用3 个表。因此,它现在只是管理员中的一个文本字段。
如何在 Django Admin 中制作这样的动态下拉菜单?
【问题讨论】:
标签: python django django-models