解决此类问题的最简单方法是什么: 使用models.FileField用于本地文件或models.CharField用于输入URL,取决于之前切换的选项。 下一个代码不起作用,但显示了这个想法:
class T(models.Model):
action = models.ForeignKey(Action)
type = models.ForeignKey(Type)
if type == 2:
attachment = models.FileField(upload_to=settings.ATTACHEMENTS_FOLDER, blank=True, max_length=255)
else:
attachment = models.CharField(blank=True, max_length=255)
答案 0 :(得分:0)
您应该将其存储在Type
模型中。
这样,它可以是任何字段都是正确的。您可以灵活地在以后添加更多类型。