我需要获取相关model.foreignKey对象的id(pk),以便设置同一模型的model.FileField的“upload_to”attr。
这样的事情:
class myClass(models.Model):
related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE)
file = models.FileField(upload_to=str(related_model.id)+"/")
因此,例如,如果related_model具有primary_key 10,则upload_to attr必须为“10 /”
创建对象时,是否可以在view.py文件中设置该值?
答案 0 :(得分:2)
使用callable作为upload_to
参数。
def related_path(instance, filename):
return '{}/{}'.format(instance.related_model_id, filename)
class myClass(models.Model):
related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE)
file = models.FileField(upload_to=related_path)