对于这样一个问题,最简单的解决方案是:本地文件使用models.FileField,还是输入URL使用models.CharField,这取决于之前切换的选项。下面的代码不起作用,但是展示了它的思想:
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)发布于 2013-12-13 23:15:37
您应该将其存储在Type模型中。这样,它可以是任何正确的字段。而且您可以灵活地在以后添加更多类型。
https://stackoverflow.com/questions/20569640
复制相似问题